в 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, время: 03:59. |