Проверка наличия текста в поле формы
Можно ли и если да, то как можно проверять 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, время: 02:47. |