所以我写的这个验证是有效的,但由于某种原因我需要单击两次才能提交表单。有什么想法吗?
$('#signup').submit(function() {
console.log('Clicked');
$('#signup').validate({
rules: {
FNAME: {
required: true,
notPlaceholder: true
},
email: {
required: true,
notPlaceholder: true,
email: true
}
},
errorLabelContainer: "div.error",
submitHandler: function(form) {
$.colorbox({width:"300px", href:'thankyou.html'});
$('#signup').fadeOut();
}
});
return false;
});
谢谢
最佳答案
您的 $('#signup').validate
调用内部 $('#signup').submit
,这意味着直到用户第一次尝试提交表单时才会附加验证器。正如 Cybernate 在评论中指出的那样,将 validate
调用移到 submit
调用之前将首先附加验证器。
这有点令人困惑; validate
实际上设置验证,而不是立即执行它。
使用 validate
设置验证后,您实际上可以将 submit
调用更改为如下所示:
$('#signup').submit(function() {
return $('#signup').valid();
});
关于jquery .submit() 验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6948821/