Виртуальная клавиатура на 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, время: 05:19. |