所以我写的这个验证工作有效,但出于某种原因我需要点击两次才能提交表单.有任何想法吗?
$('#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;
});
Run Code Online (Sandbox Code Playgroud)
谢谢
您的$('#signup').validate呼叫在内部 $('#signup').submit,这意味着直到用户第一次尝试提交表单时才会附加验证器.正如Cybernate在评论中指出的那样,在validate呼叫之前移动submit呼叫将首先附加验证器.
这有点令人困惑; validate实际上设置验证,而不是立即执行.
使用后设置验证后validate,您实际上可以将submit呼叫更改为如下所示:
$('#signup').submit(function() {
return $('#signup').valid();
});
Run Code Online (Sandbox Code Playgroud)