jQuery使用form.reset和validator.resetForm验证问题

时间:2013-09-03 17:37:23

标签: jquery jquery-validate

我有一个包含一些必填字段的表单。如果用户单击按钮,则应激活验证,并处理其输入。但是,在处理之后,我想重置/清除表单并允许它们输入更多信息。在我调用form.reset()和validator.resetForm()之后,显示验证消息,因为表单已被清除。清除表单并确保不显示验证消息的正确方法是什么? Here's the complete fiddle illustrating the issue.以下是我想要工作的代码段:

$('#btnGo').click(function(){
    // clear the form
    $('#frmFoo')[0].reset();
    // AFTER this call to resetForm, validation message is shown again.  Why?
    validator.resetForm();
});

谢谢,

安迪

1 个答案:

答案 0 :(得分:1)

默认情况下,jQuery Validate插件会将您的button元素视为提交,这就是验证消息在重置期间/之后立即返回的原因。

您只需将type="button"添加到按钮中,这样就不会触发提交。

<button type="button" id="btnGo">Do Something and Clear Form</button>

DEMO http://jsfiddle.net/AxucF/1/