2012-07-20 127 views
0

我正在使用Jquery處理表單而不加載新頁面。我可以通過輸入字段'mailingfield'中的電子郵件地址獲得警報。 我不能工作了,爲什麼後不工作(更直接,圖像沒有做任何事情的onclick。 的.mailbutton是一個圖像。

window.onload = init; 

function init() { 
    $(".mailbutton").click(function() { 
     var email = $(".mailingfield").val(); 
     $.post("/localhost/PHP_scripts/mailinglist.php", { 
      email: email 
     }, function(data) { 
      var content = $(data).find('#content'); 
      $("#box").empty().append(content); 
     } 
     }); 
    }; 

的mailinglist.php正在尋找「郵件」到由$ _POST設置 然後驗證安全性等,然後如果電子郵件地址通過驗證,它被插入到數據庫中,那麼代碼解析一個html塊,其前面帶有div ID的內容,如果驗證失敗,它會產生一個類似的HTML塊先於內容div,並附有相關警告。 我是否正確地做了這件事 非常感謝任何幫助

+2

此代碼有一堆語法錯誤 – Esailija 2012-07-20 14:02:37

+0

感謝您糾正語法。 – 2012-07-20 14:10:31

+1

我沒有更正語法。我只是添加了一些縮進,使其易讀 – Esailija 2012-07-20 14:11:00

回答

0

我建議將事件綁定到文檔就緒塊中的按鈕,就像這樣(更不用說我修復了你的語法錯誤。只要URL是正確的,這將工作):

window.onload = init;

$(function(){ 

    $(".mailbutton").click(function() { 
     var email = $(".mailingfield").val(); 
     $.post("/localhost/PHP_scripts/mailinglist.php", { email: email }, function(data) { 
      var content = $(data).find('#content'); 
      $("#box").empty().append(content); 
     }); 
    }); 
}); 
0

嘗試在Firefox中的Firebug的Net選項卡檢查,看看是否被點擊上發送請求,並使用Chrome檢查元網絡選項卡上看到點擊是如何產生的任何請求..

你確定你的帖子的網址是正確的....

這意味着,如果你的網站是http://www.example.com/ 和你的頁面從御發送Ajax請求http://www.example.com/makeajaxcall/ajaxrequest.php那麼你的AJAX的網址,讓您發佈數據將爲http://www.example.com/localhost/PHP_scripts/mailinglist.php

+0

謝謝螢火蟲已經確認了PHP腳本庫的正確發佈和html響應don Gabe的修訂 – 2012-07-20 14:28:21

+0

@joecoleman我的解決方案解決了您的問題嗎? – Gabe 2012-07-20 14:40:52

+0

@加貝它確實謝謝你。但是現在,如果輸入的電子郵件沒有通過,發回的表單(與原始類別和ID相關的點擊功能相同)不再具有點擊功能。你知道這可能是爲什麼嗎? – 2012-07-20 15:11:05