Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Выбор действия из ниспадающего списка


Автор: AntiLL 1.11.2006, 21:59
Народ выручайте. Такая задача. Есть ниспадающий список на сайте и в соответствии со значением этого списка, на странице отображается та или иная информация внутри таблицы. Вот как это делаю я. 
Объявление самой функции:

Код

<script language='JavaScript'>
function handle(name) {
eval("document.all['text'].style.display='none'");
eval("document.all['textarea'].style.display='none'");
eval("document.all['"+name+"'].style.display=''");
}
</script>



Реализация: 

Код

<td width="30%">Тип поля: <select name=type style="width: 100%;" onChange="handle(this)">
<option value="text"> Текст </option>
<option value="textarea"> Текстовая область </option>
</select>

</td>
<td width="30%">Свойства поля:<div id="text" name="text" style="display:none;">Отсутствуют</div><div id="textarea" name="textarea" style="display:none;"><input class="input" style="width: 100%;" name="settings" cols="20" type="text"></div></td>


ТО есть я делаю видимыми/невидимыми информацию заключенную в тегах div. Пишет ошибка в жава скрипте. Как быть?

Автор: SelenIT 1.11.2006, 22:14
AntiLL
1. 
Код

<script language='JavaScript'>
function handle(name) {
document.getElementById('text').style.display='none';
document.getElementById('textarea').style.display='none';
document.getElementById(name).style.display=''; // и не нужен тут eval!
}
</script>

2, и главное. onChange="handle(this.value) - передать нужно id дива, а не ссылку на объект.

Автор: AntiLL 1.11.2006, 22:32
Все работает! Огромное спасибо! 
Старый добрый Винград, чтоб без тебя мы делали! =)
Вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)