使用jQuery验证器禁用自动输入焦点

时间:2012-01-21 19:27:30

标签: javascript jquery validation

我正在使用jQuery Validator,我希望能够禁用默认焦点行为。

我将字段名称直接包含在输入字段本身中(就像您在Stack Overflow右上角的“搜索”输入中看到的那样)。这里的问题是,当我提交表单并且字段被标记为无效时,它会自动关注字段,从而删除字段值。

这可能会让用户感到困惑,因为他们不知道该特定字段的用途。有没有办法禁用这种行为?

我在下面提供了我的代码,如果有帮助的话:

$(document).ready(function(){
    jQuery.validator.messages.required = "";
    jQuery.validator.addMethod("notEqual", function(value, element, param) {
        return this.optional(element) || value !== param;
    }, "");

    $("#quoteForm").validate({
        rules: {
            firstName: {
                required: true,
                notEqual: "First name"
            },
            email: {
                required: function(element) {return $("#emailAdd").val() == '';},
                notEqual: "Email",
                email: false
            },
            phone: {
                required: function(element) {return $("#phoneNum").val() == '';},
                notEqual: "Phone",
                phoneUS: false
            }
        }
    });
});

2 个答案:

答案 0 :(得分:10)

我找到了答案,只是想在这里分享一下:

我只需要使用focusInvalid: false

答案 1 :(得分:9)

使用Jeremy这样的答案:

    $("#contactForm form").validate({
            focusInvalid: false,
            rules: {
                name: "required",
                email: {
                    required: true,
                    email: true
                },
                message: "required"
            },
            messages: {
                name: 'Fill in name',
                email: 'Fill in email',
                message: 'Fill in message'
            },
            submitHandler: function(form) {
                return SubmitContactForm();
            }
        });
相关问题