jquery .submit()验证问题

Rob*_*ert 1 validation jquery

所以我写的这个验证工作有效,但出于某种原因我需要点击两次才能提交表单.有任何想法吗?

        $('#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)

谢谢

Dan*_*Tao 5

您的$('#signup').validate呼叫在内部 $('#signup').submit,这意味着直到用户第一次尝试提交表单时才会附加验证器.正如Cyber​​nate在评论中指出的那样,在validate呼叫之前移动submit呼叫将首先附加验证器.

这有点令人困惑; validate实际上设置验证,而不是立即执行.

使用后设置验证后validate,您实际上可以将submit呼叫更改为如下所示:

$('#signup').submit(function() {
  return $('#signup').valid();
});
Run Code Online (Sandbox Code Playgroud)