в Firefox не обрабатывается скрипт!
Добрый день, вот скрипт взятый на этом сайте - в зависмости от того то выбрано в Селекте - отображать нужную инф. в Текстареа, он отлично работает в ИЕ, но ни в ФФ ни в Хроме не работает, посм пж в чем может быть дело - возм есть другие варианты реализации данной задачи?
<form> <select name="tema" id="level" onchange="showNames(this.value)" size=3> <option value="Вариент1">Вариент1</option> <option value="Вариент2">Вариент2</option> </select> <br /> <textarea id="names" rows="8" cols="40" name="names"> </textarea> </form> <script> var Вариент1 = Array("Вариент1Вариент1"); var Вариент2 = Array("Вариент2Вариент2"); 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("text"); opt.innerHTML=mas[i]; el.appendChild(opt); } } </script> Заранее Благодарю. |
замени
var opt = document.createElement("text"); opt.innerHTML=mas[i]; на var opt = document.createTextNode(mas[i]); и буде тобе Вариент счастья ))) |
Отлично Друг! Все работает!
А можешь пояснить почему ИЕ и ФФ по разному обрабатывают этот скрипт? И если не трудно вкратце коммент к этим строкам, я буду очень ну очень тебе благодарен! :thanks: |
кстатт вот такую функцию мне посоветовали взамен:
function showNames(v){ var textarea = document.getElementById("names"); textarea.value = eval(v); } :) |
так лучше, осталось избавиться от eval и русских названий переменных
<form> <select name="tema" id="level" onchange="showName(this.value)" size=3> <option value="1">Вариент1</option> <option value="2">Вариент2</option> </select> <br /> <textarea id="names" rows="8" cols="40" name="names"> </textarea> </form> <script type="text/javascript"> var match = { 1: "Вариент1Вариент1", 2: "Вариент2Вариент2" }; function showName( v ){ var textarea = document.getElementById('names'); textarea.value = match[v]; } </script> если же нужно просто текст текущего пункта выдавать <form> <select name="tema" id="level" onchange="showName(this.value)" size=3> <option value="1">Вариент1</option> <option value="2">Вариент2</option> </select> <br /> <textarea id="names" rows="8" cols="40" name="names"> </textarea> </form> <script type="text/javascript"> function showName( v ){ var select = document.getElementById('level'); var textarea = document.getElementById('names'); textarea.value = select.options[select.selectedIndex].innerHTML; } </script> |
Часовой пояс GMT +3, время: 06:10. |