Chrome не проходит проверку формы jquery - PullRequest
1 голос
/ 05 июля 2010

Может кто-нибудь объяснить мне, почему проверка формы не удалась в Chrome ?

Нажатие кнопки отправки должно окрасить пустые поля в красный цвет.

Я понятия не имею, почему Chrome не работает- был бы рад найти решение ...

$('form .meet').focus(function() {
    $('form .required').each(function() {
        if($(this).val() == '') {
            $(this).addClass('warning');
        }
    })
});
$('form .meet').click(function() {
    output = true;
    if($('form .warning').length > 0) {
        $(this).addClass('disabled').attr('disabled','disabled');
        output = false;
    }
    return output;
});
$('form .required').keyup(function() {
    if($(this).val()) {
        $(this).removeClass('warning');
        if($('form .warning').length == 0) {
            $('form .meet').removeClass('disabled').removeAttr('disabled');
        }
    }
});
  • .required - поля ввода, которые могут быть не пустыми
  • .meet - поля отправки, связанные с.required

1 Ответ

0 голосов
/ 06 июля 2010

В Chrome событие щелчка срабатывает перед фокусом.Ваш код ожидает, что событие фокуса произойдет первым (чтобы назначить класс предупреждения пустым входам).Вы должны выполнить оценку значения поля ввода при клике.

$('form .meet').click(function() {
    output = true;
    $('form .required').each(function() {
        if($(this).val() == '') {
            $(this).addClass('warning');
        }
    });
    if($('form .warning').length > 0) {
        $(this).addClass('disabled').attr('disabled','disabled');
        output = false;
    }
    return output;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...