Передача текста из input в label
Здравствуйте, уважаемые.
Помогите пожалуйста решить такую небольшую проблему. Как мне посимвольно, т.е. при наборе текста в input, передать его в lable. Так сказать на лету. Приведите пожалуйста пример, как это реализовать!? Заранее спасибо за ответ. |
<label for="input"></label> <input type="text" id="input" /> (function ( input ) { var label, oldValue = ''; var labels = document.getElementsByTagName("label"); for ( var j = 0; label = labels[j++]; ) { if ( label.getAttribute("for") == input.id ) { break; } } if ( !label ) { return; } function handler() { if ( input.value != oldValue ) { oldValue = value; label.innerHTML = ""; label.appendChild( document.createTextNode( value ) ); } }; if ( input.addEventListener ) { input.addEventListener( "keyup", handler, false ); input.addEventListener( "keydown", handler, false ); } else if ( input.attachEvent ) { input.attachEvent( "onkeyup", handler ); input.attachEvent( "onkeydown", handler ); } else { input['onkeyup'] = input['onkeydown'] = handler; } })( document.getElementById('input') ); |
nikita.mmf,
На всякий случай строка 11 и 13 input.value |
nikita.mmf, большое спасибо!!!
|
рони,
спасибо. Действительно недописал. |
а я думал решение проще :cray: , как то так....
<label id="input"></label> <input type="text" onkeydown="document.getElementById('input').innerHTML=this.value" /> |
evgh,
На всякий случай onkeyup не забыли? И код указанный выше можно использовать для множества инпутов слегка дополнив плюс ненужно вписывать код внутри тегов. |
рони,
Цитата:
Цитата:
Цитата:
|
введите в инпут например <div>!!!</div>
|
nikita.mmf,
не знаю зачем вводить теги, но если ввести то инпут "блокируется", хз почему. |
Цитата:
|
А почему не работает innerHTML через attachEvent в IE. Выдаёт "undefined".?
<div id="textView"></div> <input type="text" id="textEnter" /> var textView = document.getElementById('textView'); var textEnter = document.getElementById('textEnter'); if (textEnter.addEventListener) { textEnter.addEventListener('keyup', myFoo, false); textEnter.addEventListener('keydown', myFoo, false); } else if (textEnter.attachEvent) { textEnter.attachEvent('onkeyup', myFoo); textEnter.attachEvent('onkeydown', myFoo); } function myFoo () { textView.innerHTML = this.value; } |
бред. даже в гугле такого нет.
щас через вайн зайду в 8 IE и проверю. какой IE <div id="textView"></div> <input type="text" id="textEnter" /> <script> var textView = document.getElementById('textView'); var textEnter = document.getElementById('textEnter'); textEnter.attachEvent('onkeyup', myFoo); textEnter.attachEvent('onkeydown', myFoo); function myFoo () { textView.innerHTML = event.srcElement.value; } </script> "undefined" - не innerHTML, а "this.value" вместо this используй для него event.srcElement |
Еще есть приколисты (люди) которые работают с полем INPUT исключительно мышкой. То есть, копируют в него текст (мышкой) из буфера, либо выделяют текст в поле (мышкой) и удаляют часть текста (мышкой). И надо предусмотреть соответствующее изменение в label.
|
такие умельцы редко попадаются.
как и те,которые сжимают HTML,CSS,JS в релиз-версии. (конечно,имея под рукой читабельные добрые сорцы) очень редко... |
Цитата:
Кстати, о поисковой странице Гугл: неоднократно видел как люди не нажимают клавишу Enter, а мышкой жмут кнопку "Поиск" (перед этим скопировав поисковое слово также из буфера). И убедить их нажимать клавиши на клавиатуре бесполезно... |
Часовой пояс GMT +3, время: 21:47. |