Отключить автоматический фокус ввода с помощью валидатора jQuery - PullRequest
7 голосов
/ 21 января 2012

Я использую jQuery Validator, и я хотел бы иметь возможность отключить стандартное поведение фокуса.

Я включаю имена полей в качестве значений непосредственно в сами поля ввода (например, то, что вы видите во вводе «поиск» в верхней правой части переполнения стека). Проблема здесь в том, что когда я отправляю форму и поле помечается как недействительное, оно автоматически фокусируется на поле, которое удаляет значение поля.

Это может сбить с толку пользователя, так как он давно не знает цели этого конкретного поля. Есть ли способ отключить это поведение?

Я включил свой код ниже, на случай, если это поможет:

$(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 ]

10 голосов
/ 14 февраля 2012

Я нашел ответ на этот вопрос и просто хотел поделиться им здесь:

Мне просто нужно было использовать focusInvalid: false.

9 голосов
/ 02 октября 2012

Используйте ответ Джереми так:

    $("#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();
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...