2013-12-08 3 views
0

Я пытаюсь динамически обновлять свой диапазон с сообщением об ошибке, если пользователь вводит символ и удаляет все введенные данные и нажимает на следующее поле или показывает успешное сообщение, как только пользователь перестанет печатать.Как динамически обновлять мой диапазон с сообщением об ошибке или сообщением об успешном завершении?

мой HTML:

Full name: 
<input type="text" id="box1" />&nbsp;<span id="msg_out1"></span> 

password: 
<input type="password" id="box2" />&nbsp;<span id="msg_out2"></span> 

Мой JQuery это, по крайней мере, это то, что я пробовал:

jQuery("#box1").click(function(){ 
    if (jQuery("#box1").val() !="") { 
     jQuery("#msg_out1").html('&#10003; Great Name!').css('color','green').css('font- size','18px').css('margin-left','40px'); 
    } else 
     jQuery("#msg_out1").html('&#10008; Please Enter Your Name').css('color','red').css('font-size','18px').css('margin-left','40px'); 
}); 

пример: twitter

+0

Может быть, вы также хотите, чтобы очистить сообщение, когда пользователь печатает. Для этого вы использовали бы keydown – Popnoodles

ответ

0

Я думаю, что лучший способ сделать это заключается в использовании события «изменения» на входе.

Так бы сделать что-то вроде:

$('.my-input').on('change', function(event) { 
    /* validate if blank or something*/ 
}); 

И эта функция будет вызвана только тогда, когда этот вход теряет фокус.

+1

, это делает то же самое, что и .blur – user3052886

+0

@popnoodles, что просто ошибка, набрав его здесь, у моего исходного источника есть – user3052886

+2

@ user3052886 Он не делает то же самое, что и размытие. Событие onChange вызывается только тогда, когда пользователь изменил значение поля. Событие onBlur запускается, когда пользователь удаляется от объекта, не изменив его значение. – Popnoodles

0

Я решил проблему.

Правильная функция:

jQuery("#box2").on('keyup',function(event){ 
    if (jQuery("#box2").val() !="") { 
    jQuery("#msg_out2").html('&#10003; Great Name!').css('color','green').css('font-size','15px').css('margin-left','40px'); 
}else 
    jQuery("#msg_out2").html('&#10008; Please Enter Your Name').css('color','red').css('font-size','15px').css('margin-left','40px'); 

}); 
Смежные вопросы