ИЕ криво работает с textarea
Братья всем привет, такой вопрос - есть скрипт зависимого списка, выбираю в чекбоксе значение, в текстареа должно появиться к нему пояснение:
var Мышь = Array("Компьютерная мышь"); var Пилот = Array("Пилот (тройник)"); function showNames(v){ var mas = eval(v); var el = document.getElementById("names"); while(el.childNodes.length>0){ el.removeChild(el.childNodes[el.childNodes.length-1]); } for(var i=0;i<mas.length;i++){ var opt = document.createElement("option"); opt.innerHTML=mas[i]; el.appendChild(opt); .. <option value="Мышь">Мышь</option> <option value="Пилот">Пилот (тройник)</option> .. <textarea id="names" rows="6" cols="40" name="comment"> </textarea> - так вот в Опере все работает, в ИЕ работает но если пояснение большое то когда навожу мышкой она как бы не дает выделить сходу текст, дает если только снизу начать выделение, курсор становится крестиком, в FF и Chrome не раб скрипт вообще. Тут по делу видно конечно что массив то и не нужен (до этого использовал), но тем не менее думаю не в этом дело. Подкажите пж - почему ИЕ нормально не дает выделить текстареа а FF не обрабатывает совсем (в текстарея ничего не появляется при выборе)? Возм. есть более удачная реализация? Заранее Благодарю! |
А зачем Вы оption к textarea цепляете?
|
Ну клиент выбирает в option один из вариантов а в textarea появляется его описание.
|
var el = document.getElementById("names"); // HTMLTextareaElement … var opt = document.createElement("option"); // HTMLOptionElement el.appendChild(opt); // option — новый дочерний элемент textarea В итоге получается: <textarea> <option>…</option> </textarea> А textarea-то не то, что option, вообще, дочерних элементов иметь не может. |
Спасибо брат, заменил option на text и все стало как надо.
Эта функция до этого обрабатывала как раз 2 зависимых select. К сож. не совсем знаю все эти функции - подскажи пж где можно почитать об этом начинающему? И еще вопрос - подскажи пж почему в FF и Chrome она не работает? Ну и последнее - скажи свой кошелек на почту я копеечку закину за помощь в трудную минуту :) |
var el = document.getElementById("names"); while(el.childNodes.length>0){ el.removeChild(el.childNodes[el.childNodes.length-1]); } for(var i=0;i<mas.length;i++){ var opt = document.createElement("option"); opt.innerHTML=mas[i]; el.appendChild(opt); вот это, судя по коду, можно попробовать заменить на var el = document.getElementById("names"); el.innerHTML = mas.join(""); может и заработать. А денег не нужно — лучше выпей пива и вспомни добрым словом :) |
ты прав друг - все заработало! респект тебе.
а насчет денег - не спеши отказываться, всегда успеешь :) |
кстати тему можно поменять на "я криво понимаю javascript, помогите!" :D
|
отправил тебе личное сообщение
|
Часовой пояс GMT +3, время: 03:00. |