Виртуальная клавиатура на textarea - проблема...
Вот код:
<textarea id='text'></textarea> <br/><select id='cons' onchange='func(this.value)'> <option value=''>согласные</option> <option value='b'>b</option> <option value='c'>c</option> </select> <select id='vow' onchange='func(this.value)'> <option value=''>гласные</option> <option value='a'>a</option> <option value='o'>o</option> </select> <script> function func(par){ var text=document.getElementById('text').innerHTML+par; document.getElementById('text').innerHTML=text; var sel=document.getElementsByTagName('select'); for (var i=0;i<sel.length;i++)sel[i].selectedIndex='0'; } </script> В принципе, работает, но только до того момента, как установлю курсор в поле textarea и кнопкой с клавиатуры удалю какую-нибудь вписанную ранее букву. После этого показывать вписанные в поле буквы начисто отказывается, хотя веб-консоль Лисы никаких ошибок не выдаёт. Посоветуйте что-нибудь для решения проблемы! Спасибо. |
<textarea id='text'></textarea> <br> <select id='cons' onchange='func(this)'> <option value=''>согласные</option> <option value='b'>b</option> <option value='c'>c</option> </select> <select id='vow' onchange='func(this)'> <option value=''>гласные</option> <option value='a'>a</option> <option value='o'>o</option> </select> <script type="text/javascript"> var kb = { area: document.getElementById('text') }; function func(select) { kb.area.value += select.value; select.selectedIndex = 0; } </script> |
to Botik21:
Спасибо, это работает! Только всё-равно не понимаю, почему МОЙ код плохо работал... |
Надо было писать не в innerHTML, а в value
|
А как сделать селектом переход на новую строку?
вот это: <select onchange='func(this)'> <option value=''></option> <option value='l\n'>переход</option> </select> не работает (скрипт выше). |
На правах наркомании хоть и работает:
<option value=' '>Новая строка</option> Или так: function func(select) { kb.area.value += select.value.replace('\\n', '\n'); select.selectedIndex = 0; } Хотя в целом идея вводить символы селектом очень странная :) |
Botik21,
[HTML run][/HTML]на всякий случай для поста №2 |
Часовой пояс GMT +3, время: 19:36. |