Скрытие\показывание поля при вводе текста
Добрый день. Пытаюсь сделать простой скриптик, есть два поля, одно скрытое, другое нет. Надо что бы при вводе текста в обычное поле, появлялось скрытое. И аналогично, если убрать текст в первого поля, то скрытое обратно исчезало. Вот что я сделал, но не вписывается текст в поля, и появляется и исчезает при произвольном нажатии на любую кнопку на клавиатуре. помогите пожалуйста :help:
<script type="text/javascript" src="jQuery.js"></script> <script type="text/javascript"> function diplay_hide (blockId) { if ($(blockId).css('display') == 'none') { $(blockId).animate({height: 'show'}, 500); } else { $(blockId).animate({height: 'hide'}, 500); }} </script> <input type="text" onkeydown="diplay_hide('#block_id');" /> <input id="block_id" type="text" style="display: none;" /> |
Вот ты говоришь если убрать текст, то поле должно исчезнуть. А где у тебя такая проверка в коде?
Используй событие input текстового поля: <script> function toggleBlock(selector, show) { var block = $(selector); if (block.is(':visible') !== show) { block.animate({height: show ? 'show' : 'hide'}, 500); } } </script> <input type="text" oninput="toggleBlock('#block_id', !!this.value)" /> ЗЫ: В осле 7-8 версий нет события input. вместо него есть propertychange. Так что нужно просто продублировать значение атрибута oninput и для атрибута onpropertychange |
danik.js, Работает, только почему то во второе поле которое выехало, я не могу ничего вписать(( Как это уже исправить?
|
Часовой пояс GMT +3, время: 04:15. |