2012-07-24 48 views
0

我有一個加載div,顯示在對服務器的不同調用之間。 下面是代碼:通過代碼jquery ui更新提交表單時不會觸發

$("#submitButton").click(function() { 
     $("#loadingDiv").show(); 
     $(this).attr("disabled", "disabled"); 
     $("form:first").submit();       
    }); 

這一切運作良好,如果我註釋掉的代碼的第三行提交表單。但是當我把代碼提交到這些UI更新調用旁邊的表單時,它們都沒有生效,並且瀏覽器等待光標顯示,直到顯示錶單提交的結果。

回答

1

您需要添加preventDefault()以防止發生默認提交。就像你所擁有的那樣,在任何點擊處理程序代碼可以運行之前,表單都將被提交。

$("#submitButton").click(function (e) { // note event object passed in 
    e.preventDefault(); // add this 
    $("#loadingDiv").show(); 
    $(this).attr("disabled", "disabled"); 
    $("form:first").submit();       
}); 
+0

是的,先生..工作...非常感謝你 – dreamerkumar 2012-07-24 18:07:11

0

當你提交表單時,頁面將被重新加載或重定向到另一個地方,我想你想使用AJAX,如果是這樣的話你可能想看看ajax()post()方法並用它們代替提交表格。

+0

但是當我做一個ajax文章時,我將不得不通過代碼獲取帖子的結果並處理它。當頁面重新加載時,這將消除服務器端錯誤的自動顯示..確實有道理。 – dreamerkumar 2012-07-24 17:57:55

+0

只是要清楚,我確實希望頁面重新加載或重定向。只是在提交之前屏幕發生了變化,這不起作用 – dreamerkumar 2012-07-24 18:00:00

+0

因此您想要顯示加載動畫幾秒鐘,然後提交表單並重新加載整個頁面? – 2012-07-24 18:08:06

相關問題