Отправка формы с заполнителями, цвет не срабатывает с первого клика jQuery - PullRequest
1 голос
/ 17 июля 2011

Итак, у меня есть форма, которая дает мне два вопроса.

1.Когда я нажимаю кнопку «Отправить» один раз, выдается сообщение о проверке (хорошо), но цвет текста заполнителя не меняется должным образом, если я щелкаю его дважды, он меняется совершенно.Мне нужно, чтобы это изменилось в первый раз, пока есть ошибка, это должно измениться.

2.Допустим, вы вводите любое значение для имени, например букву e, затем дважды нажимаете submit, и текст-заполнитель переходит к тому, что было напечатано.Мне не нужно, чтобы над текстом отображался заполнитель, так как там есть значение.

Вот какая у меня скрипка http://jsfiddle.net/Lqb6q/

Есть идеи, как это исправить?

Ответы [ 2 ]

2 голосов
/ 17 июля 2011

Проблема в том, что вы прослушиваете событие щелчка, вместо этого вы должны прослушивать событие отправки.

Изменить это:

$('#submit-ticket').click(function() {
if($('input').hasClass('error')) {
$("label.overlabel-apply").css('cssText', 'color: red !important');
}
});

к этому:

$('#ticket-form').submit(function() {
    if($('input').hasClass('error')) {
        $("label.overlabel-apply").css('cssText', 'color: red !important');
    }
    $('input').each(function(){
        if($(this).val().length){
            hideLabel($(this).attr('id'), true);
        }
    });
});

См. Это в действии .

0 голосов
/ 17 июля 2011

Проблема может заключаться в том, что с каждым «входом» связаны два элемента «label».Хотя официальная спецификация HTML позволяет это, есть несколько проблем с отображением этого пользовательским агентом.Посмотрите здесь .

Попробуйте заменить одну из меток на span или div.

...