2011-10-19 76 views
1

我有一個全球性的JS文件的通用jQuery驗證電話:使用jQuery驗證,有沒有一種方法可以重置表單而不必引用創建的對象?

$('form').each(function() { 
    $(this).validate(); 
}); 

通過這種方式,在網站上的任何形式可以通過簡單地提供元數據能夠驗證。但是,現在我想重置表單,因爲我在做AJAX提交。在官方網站上,它說,使用創建的對象重置形式:

var validator = $('#someForm').validate(); 

問題是,我的通用驗證設置,我沒有到創建對象的引用。有沒有辦法在我的情況下仍可以找回它?

+0

.validate()如果已經創建它將返回驗證對象。 – user1122345

回答

2

我不知道我明白你的意思被重置形式。以防萬一......

您可以刪除驗證這樣的..

$("form").removeData("validator"); 
$("form").removeData("unobtrusiveValidation"); 
+0

順便說一句,您可以通過一次調用removeData來移除多個數據片段 - 要麼傳遞一個字符串數組,要麼傳遞一個空格分隔的字符串,例如, '$('form')。removeData(['validator','unobtrusiveValidation']);' –

0
var formValidations = []; 
$('form').each(function() { 
    formValidations.push($(this).validate()); 
}); 

然後通過formValidations

for(var i in formValidations) 
{ 
    //do something with formValidations[i] 
} 
1

你可以這樣做迭代,

function ResetValidations(){ 
      $("form").removeData("validator"); 
      $("form").removeData("unobtrusiveValidation"); 
      $.validator.unobtrusive.parse("form"); 
    } 
相關問題