0
我有一個頁面,需要使用$ .post(),但由於某些原因,確切的代碼工作時,我從螢火蟲控制檯運行它,但不是從我的腳本?我的腳本是:JQuery發佈不在文檔中工作,但在控制檯中工作?
$(document).ready(function() {
$('#dl_btn').click(function() {
$.post(
"news_csv.php",
$("#dl_form").serialize(), function (data) {
alert('error');
if (data == 'success') {
alert('Thanks for signing up to our newsletter');
window.open("<?php echo $_GET['link']; ?>");
parent.Shadowbox.close();
} else {
alert(data);
}
});
});
});
它不像,它得到正確打印鏈接,但它給了我對jQuery的分鐘140行的錯誤,我已經使用不同版本的jQuery和無濟於事試過。我真的不明白爲什麼這不起作用。
當我從$ .post更改爲$ .ajax並使用錯誤回調函數時,我確實收到錯誤'error',錯誤是未定義的?
不要以爲任何人有什麼想法?將不勝感激。
感謝,
湯姆
啊哈,一旦我把按鈕從表單上運行正常,ajax調用被中止,因爲頁面被重新加載,我甚至沒有注意到!非常感謝你! – 2010-11-11 13:34:38
但它只是一個窗體內的按鈕元素,爲什麼它會觸發表單提交,因爲我認爲只會觸發onclick事件? – 2010-11-11 13:35:23
您需要在點擊時返回false。這將覆蓋可能提交表單的'事件的行爲。如果你必須爲你的表單啓用JS,那麼'action =「」'是最安全的,但是如果JS可以被禁用,那麼只留下'action' – Gutzofter 2010-11-12 00:09:59