2011-02-02 140 views
1

我正在嘗試使用JQuery驗證來驗證窗體。JQuery驗證 - 從javascript重置錯誤狀態

我有一個字段可以是空的,但如果非空必須有數字。 JQuery驗證通過設置「class ='digits'」來處理。我的問題是,我有一個使用JavaScript來清除字段的按鈕。

如果我在字段中輸入一個非數字,則顯示「請輸入唯一數字」錯誤。如果我點擊按鈕,該字段被清除,但仍然顯示「請輸入數字」錯誤。這是不正確的,因爲字段爲空並不是錯誤。

我清理場:

jQuery('#mybutton').click(function() 
{ 
    jQuery('#myfield').val(''); 
}); 

這是工作。

我想我可以重新運行與驗證:

jQuery('#mybutton').click(function() 
{ 
    jQuery('#myfield').val(''); 
    jQuery('#myfield').validate(); 
}); 

有jQuery對象上定義的validate()方法,但調用它不會導致錯誤消息消失。

任何想法?

+0

您不應該在點擊處理程序中調用`.validate()`。這只是插件的初始化方法。之後,點擊處理程序自動完成。 – Sparky 2017-01-18 00:55:15

回答

0

jquery validate爲此提供了重置功能。

resetForm(); 
+2

我不想重置表單上的所有字段,我只是想更改其中的一個,然後重新運行驗證。 – 2011-02-02 17:23:21