DHTML и SELECT

 
0
 
JavaScript
ava
Sheff | 23.11.2003, 19:15
Люди, есть код:

<HTML>
<BODY>
<script language="JavaScript">
function change_stuff()
{
document.REG.Hair.innerHTML = "<option>2</option>";
}
</script>
<form name='REG'>

<select name="Gender" OnChange="change_stuff();">
<option>Male</option>
<option>Female</option>
</select>

<select name="Hair">
<option>1</option>
</select>

</form>
</BODY>
</HTML>

То что он делает понятно: При выборе другого элемента из комбобокса Gender элемент в комбобоксе Hair меняется с 1 на 2. Так должно быть, но что за фигня, когда я выбираю из комбобокса что-то то Hair комбобокс вообще очищается. Я решил посмотреть, что хранится в Hair.innerHTML сразу после того, как я его изменил, я добавил alert(document.REG.Hair.innerHTML); и знаете что он вывел, "2</option>". Какого .... он это выводит, я же присвоил "<option>2</option>" ???
Ответы (5)
ava
Sheff | 24.11.2003, 18:55 #
Люди плиз, помогите кто чем может, очень нужно !
ava
SVK | 24.11.2003, 19:21 #
innerHTML вообще не самый удачный выбор для этого. Лучше (корректнее и надежнее) пользоваться DOM-методами:
function change_stuff()
{
document.REG.Hair.options[0] = new Option("2");
}

ava
[email protected] | 25.11.2003, 11:00 #
Sheff, это явно нездоровый глюк Ёксплорера. А может быть и специальная "фишка" от Микрософта.
Делай как SVK предложил - будет работать.
ava
Sheff | 27.11.2003, 00:03 #
[email protected] SVK Так и сделал, чё ещё оставалось, тока код получился здоровым :(
ava
Vaulter | 27.11.2003, 11:47 #
Sheff
зато DOM)
а DOM держут почти все правильно
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить