gpt4 book ai didi

jQuery Validate resetForm() 不会重置 onFocus 验证

转载 作者:行者123 更新时间:2023-12-01 01:03:18 27 4
gpt4 key购买 nike

我有一个表单,它使用 jQuery Validate 插件进行客户端验证,并通过 AJAX 提交。提交表单后,我希望它能够自行重置。我已经使用 .resetForm() 方法来重置字段,该方法有效,但问题是验证插件在聚焦时仍然立即尝试验证字段,并在给出错误之前给出错误新提交的内容有机会输入自己的意见。

示例流程:

  • 首先触发验证
  • 修复验证,通过 AJAX 提交表单
  • 调用.resetForm(),字段成功清空
  • 尝试再次填写表单
  • 专注于一个字段(在我的例子中具有电子邮件验证功能)
  • 在让您有机会输入之前,它会进行验证并告知您输入的内容不正确。

通常,该插件会让您输入输入内容,然后告诉您输入内容不正确。有没有什么方法可以真正重置表单,并且不会再次在焦点上进行验证,而无需一起关闭焦点验证?

谢谢,这是一个清理/简化的代码示例!

    // Validation
$('#registerForm').validate({
submitHandler: function(form) {

$(form).ajaxSubmit({
success: function(response) {

if( response == 'success' ) {
resetMyForm();
}
else {
alert('unsuccessful');
}

}
})
}
});

})




function resetMyForm() {

$('#registerForm').resetForm();
v.prepareForm(); // Tried adding this, no help
v.hideErrors(); // Tried adding this, no help

}

最佳答案

您需要重置表单并运行验证插件方法resetForm,如下所示:

var v = $("form").validate({
submitHandler: function(form) {
//resetForm is a method on the validation object, not the form
v.resetForm();
form.reset();
}
});

这似乎解决了我在遵循您的工作流程时遇到的任何问题。看到这个:http://jsfiddle.net/nxXNz/27/

关于jQuery Validate resetForm() 不会重置 onFocus 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com