jquery .submit()验证问题

时间:2011-08-04 21:34:29

标签: jquery validation

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

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

感谢

1 个答案:

答案 0 :(得分:5)

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

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

使用validate设置验证后,您实际上可以将submit来电更改为:

$('#signup').submit(function() {
  return $('#signup').valid();
});