2010-11-30 7 views
1

jqueryのvalidateプラグインを使用して、アプリケーションのすべてのフォームの検証メソッドを作成しています。 jquery each()関数を使用して各フォームを循環させ、メソッドを適用します。私は同じ方法を使ってリセットを達成したい。どのように私はこれを達成することができますか?ユニバーサルjqueryの検証およびリセット関数呼び出しの作成方法

これは動作するコードです:

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

これは多分これを試してみてください。..

答えて

1

varキーワードがなければ、あなたはグローバル変数としてvalidatorを設定し、それは各ループでに設定しているものに変化している(それは最後の最後のフォームのバリデータに設定されますので)あなたは、一度最後<form>n回より評価者が各<form>をリセットしますので

$("form").each(function() { 
    var validator = $(this).validate(); //add var here 
    validator.resetForm(); 
    $("#reset").click(function() { 
     validator.resetForm(); 
    }); 
}); 

これは、それを修正します。それを宣言するときに、ちょうどこのように、varを追加します。

+0

ありがとうNick .... –

+0

ページ内の複数のフォームでも動作するようにしました。 –

+0

$( "form")$( "form"){ var validator = $(this).validate(); // add varここで validator.resetForm(); $(this).children( "#reset")。クリック(function(){ validator.resetForm(); }); }); –

1

を教えてくださいません

$("form").each(function() { 
     validator = $(this).validate(); 
     validator.resetForm(); 
     $("#reset").click(function() { 
      validator.resetForm(); 
     }); 
    }); 

ないコードのですか?

$("form").each(function() { 
var validator = $(this); 
validator.validate(); 
validator.resetForm(); 
$("#reset").click(function() { 
    validator.resetForm(); 
}); 
}); 
+0

が有効かどうか – Breezer

関連する問題