2010-01-19 153 views
1

高!jquery .post不工作​​

我只是想知道爲什麼這不起作用?

$.post($("#jsCheckoutForm_1b").attr("action"), { 
    sLoginName: $("#sLoginName").val(), 
    sPassword: $("#sPassword").val() 
    }, function(sData){ 
     alert(sData); 
    } 
); 

的有趣的事情是,如果我硬編碼在使用$("#jsCheckoutForm_1b").attr("action")代替的作用,形式提交。警報$("#jsCheckoutForm_1b").attr("action")確實工作正常(這意味着它顯示正確的URL使用)。

任何想法?

+1

您使用Firebug或類似工具來查看$ .post操作的位置?說它「不起作用」可能意味着很多事情。 – Bartek 2010-01-19 16:53:51

+0

讓我備份一下 - 我的第一個回答是一個手指超過我的大腦的情況。 ;)你使用什麼瀏覽器?這對我在Firefox 3.5.7和IE 6.0中工作正常(這意味着我可以成功地使用'$ .post'發佈到'$('#id')。attr('action')')指定的url。 – 2010-01-19 17:19:25

+0

嗨傑夫! 是的,我使用螢火蟲,並沒有任何顯示在那裏的帖子。我發現奇怪的,然後記住,Firefox已經安裝了新的螢火蟲的測試版本。 所以我做的是重新安裝舊的,現在,tahtaah,everyting工作正常。表格正在形成,帖子正在發佈;) 儘管感謝您的幫助。順便說一句,代碼並沒有改變一件事。 – 2010-01-19 17:29:31

回答

0

你的代碼看起來不錯。我會緩存一些變量並測試它們。

var form=$('#jsCheckoutForm_1b'), 
    url=form.attr('action'), 
    login=$('#sLoginName'), 
    password=$('#sPassword'); 

console.log(form, url); 
form.submit(function(){ 
    $.post(url, 
    {sLoginName: login.val(), sPassword: password.val()}, 
    function(sData){ 

    }); 
    return false; 
}); 
1

您可能需要在提交按鈕的onclick函數上有return false;