4

以下のような単純なフォームに、jQuery 検証プラグインを追加しました ( http://docs.jquery.com/Plugins/Validation )。私はこのフォームをモーダルポップアップウィンドウに持っているので、エラーがあり、ユーザーがウィンドウを再度開いたときにウィンドウを閉じると、フォームにはまだエラーがあります。ポップアップを閉じるコールバックで、resetForm() を呼び出してみましたが、メソッドが存在しないと表示されます。

フォーム HTML:

 <form class="validations" id="commentForm" method="get" action="">
   <p>
     <label for="name">Name</label>
     <em>*</em><input id="name" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <label for="email">E-Mail</label>
     <em>*</em><input id="email" name="email" size="25"  class="required email" />
   </p>
 </form>

ポップアップ クローズ コールバック:

function(){
  $(this).find('form.validations').resetForm();
}

助けてくれてありがとう。

4

2 に答える 2

9

resetFormフォームではなく、validate メソッドによって返されるオブジェクトの一部です。例:

var validate = $('#commentForm').validate({ ... });
// Later...
validate.resetForm();
// Or if variable scope is in the way...
$('#commentForm').data('validator').resetForm();

検証プラグインは、検証オブジェクトへの参照をフォームのデータ ストアに保存します。

于 2010-01-13T21:49:00.540 に答える
1

それが実際にいくつかの要素を含む短い形式である場合は、モーダル ウィンドウの閉じるボタンがクリックされたときに、次のように手動で単純にリセットできます。

$("input[name='formelementName']").val("");

于 2010-01-13T22:02:42.990 に答える