Передача текста из 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, время: 06:28. |