Проверка наличия текста в поле формы
Можно ли и если да, то как можно проверять value поля формы при загрузке страницы?
|
if ( element.value ) { … } else { … } |
мммм.... ничего не понял ((
вот что я пытаюсь сделать $(function(){ if($('input').attr("value") !== ""){ $(this).siblings('label').hide(); } }); (типа, если input НЕ пустой то скрывать label) но это конечно не работает. |
$(function () { $('input').each(function () { if ( !this.value ) { $(this).siblings('label').hide(); } }); }); Есть ещё один более короткий вариант, но я не уверен насчёт его работоспособности: $(function () { $('input[!value] ~ label').hide(); }); |
Цитата:
!value , которого скроее нет, чем есть.Оператор ~ выбирает сиблинга, расположенного после элемента: alert($("head ~ body").size()); // 1 alert($("body ~ head").size()); // 0 Мое предложение: $("input[value])").siblings("label").hide() |
exec, вообще-то, оба примера не работают ( вернее первый прячет label в независимости есть в поле значение или нет
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"> </script> </head> <body> <div> <input type="text" /> <label> Not visible </label> </div> <div> <input type="text" value="foo" /> <label> Visible </label> </div> <script type="text/javascript"> $(function () { $('input').each(function () { if ( !this.value ) { $(this).siblings('label').hide(); } }); }); </script> </body> </html> Кстати, мой сокращённый пример тоже работает, только в таком варианте: $('input:not([value]) ~ label').hide(); |
Часовой пояс GMT +3, время: 08:41. |