2013-03-01 63 views
0

我在我的MVC應用程序中有一個作爲剃鬚刀視圖的數據輸入表單。該視圖包含一些輸入控件,驗證器和一個提交按鈕。 當用戶點擊提交按鈕時,它會執行驗證,如果其中任何一個失敗,用戶提交方法將被終止。 當所有驗證都滿足時,表單會被提交,但是隨着一些業務邏輯的執行需要更多時間。 現在我不希望用戶在此期間允許點擊提交按鈕。因此提交按鈕應該被禁用,並且在提交完成後應該重新啓用它。如何在提交表單時使用JQuery禁用保存按鈕

我該如何做到這一點?我想我需要爲此編寫JQuery,但不確定,要處理哪個事件。

回答

1

嘗試以下操作:

$("form").submit(function() { 
    var form = this; 
    setTimeout(function() { 
     $(':submit', form).attr('disabled', true); 
    }, 50) 
}); 
+1

如果需要2秒\分鐘......時間硬編碼是有問題的最的時代。 – gdoron 2013-03-01 06:55:40

+0

是的,這是有道理的。 – SRy 2013-03-01 06:57:04

5

在沒有看到HTML ...或... JavaScript的

$('form').submit(function(){ 
    var $submit = $(this).find('input[type=submit]').prop('disabled', true); 

    $.ajax({ 
     url: 'foo', 
     //... the rest... 

     complete: function(){ 
      $submit.prop('disabled', false); 
     } 
    }); 
}) 
+1

這是比接受的答案更好的做法。 – 2015-12-10 12:21:43