2010-11-15 57 views
0

我使用MicrosoftMVCValidation.js來驗證表單(客戶端/無ajax)。Microsoft MVC Validation.js:watch/create event在真實表單上運行自定義函數提交

點擊提交按鈕後,表單被提交。如果存在一些無效的表單字段,則會顯示錯誤消息而不是將數據發送到服務器。

我想知道如何添加自定義函數只有當表單真的提交到服務器。

因此,例如,我可以添加禁用提交按鈕,顯示「正在載入」圖像的簡單的JS功能,但只有當它是真的提交到服務器。如果只顯示驗證消息,我不想禁用該按鈕。

我不能使用onSubmit事件,因爲它不確保表單已提交給服務器。

那麼我該怎麼做呢?

感謝

回答

0

這裏的是您可以使用,但坦率地說,考慮jQuery的一個黑客:

window.onload = function() { 
    document.getElementById('myform').onsubmit = function() { 
     // Determine if there are validation errors 
     var errors = Sys.Mvc.FormContext.getValidationForForm(this).validate('submit'); 
     if (errors.length < 1) { 
      // disable the button if there are no errors 
      document.getElementById('btnSubmit').disabled = 'disabled'; 
     } 
    }; 
}; 
+0

翻譯此功能的jQuery或使用jQuery的MVC驗證庫? – Jonathan 2010-11-15 13:07:52

+0

使用jquery驗證。 – 2010-11-15 13:16:08

+0

好的...但函數在提交表單之前檢查錯誤消息,但錯誤消息僅在表單提交後才顯示,因此函數將永遠不會調用。 – Jonathan 2010-11-15 13:23:48

相關問題