jquery .submit() 验证问题

标签 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;
});

谢谢

最佳答案

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

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

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

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

关于jquery .submit() 验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6948821/

相关文章:

javascript - 如何使用javascript查找文件?

asp.net - requiredFieldValidator - 如何摆脱默认的红色字体颜色

用于错误验证的 CSS 表单高亮显示

validation - DAO 是否应该验证输入

javascript - 在 asp.net 中,javascript 或 jquery 是否具有 Server.UrlEncode() 方法

jquery - 将自定义类添加到工具提示

django - Django开发版本中的哪些重大变化会导致这些错误?

validation - 手动 knockout 以重新评估依赖的 Observable

javascript - HTML SSI 包含

jquery - 验证预填充的 jQuery 表单(第一个字段清除时无效,ASP.NET 且不显眼)