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 回答