所以我写的这个验证工作有效,但出于某种原因我需要点击两次才能提交表单。有什么想法吗?
$('#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;
});
感谢
答案 0 :(得分:5)
您的$('#signup').validate
电话 $('#signup').submit
内的,这意味着直到用户首次尝试提交表单时才会附加验证器。正如Cybernate在评论中指出的那样,在validate
调用之前移动submit
调用将首先附加验证程序。
有点令人困惑; validate
实际上设置验证,而不是立即执行。
使用validate
设置验证后,您实际上可以将submit
来电更改为:
$('#signup').submit(function() {
return $('#signup').valid();
});