Вопрос по Javascript

  • Автор темы heller
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

heller

#1
Помогите разобраться. Есть скрипт вида
function show(id) {
document.getElementById('c1').style.display="none";
document.getElementById('c2').style.display="none";
document.getElementById('c3').style.display="none";
document.getElementById('c4').style.display="none";
document.getElementById('c5').style.display="none";
document.getElementById('c6').style.display="none";
document.getElementById('s1').style.display="none";
document.getElementById('s2').style.display="none";
document.getElementById('sp1').style.display="none";
document.getElementById('sp2').style.display="none";
document.getElementById(id).style.display="inline";
}
Скрипт прекрасно работает в firefox, но отказывается работать в ИЕ. Причем если оставть только три операции
function show(id) {
document.getElementById('c1').style.display="none";
document.getElementById('c2').style.display="none";
document.getElementById(id).style.display="inline";
}
то работает и в ИЕ. В чем причина?
 
H

heller

#3
<html>
<head>
<script language="JavaScript" src="show.js"></script>
<body>
<form action="action.php" name="select" method="post">
<select name='c1'id='c1' style='display:inline; width:130px;'>
<option value='zero'>
<option value='Ілляшенко О.М.' >Ілляшенко О.М.
</select>
<select name='c2'id='c2' style='display:none; width:130px;'>
<option value='zero'>
<option value='Автуніч О.О.' >Автуніч О.О.
</select>
<select name='c3'id='c3' style='display:none; width:130px;'>
<option value='zero'>
<option value='Ігнатенко К.О.' >Ігнатенко К.О.
</select>
<select name='c4'id='c4' style='display:none; width:130px;'>
<option value='zero'>
<option value='Бігун О.В.' >Бігун О.В.
</select>
<select name='c5'id='c5' style='display:none; width:130px;'>
<option value='zero'>
<option value='Ганеча С.В.' >Ганеча С.В.
</select>
<select name='c6'id='c6' style='display:none; width:130px;'>
<option value='zero'>
<option value='Вечеря Д.А.' >Вечеря Д.А.
</select>
<select name='s1'id='s1' style='display:none; width:130px;'>
<option value='zero'>
<option value='Атрощенко І.Б.' >Атрощенко І.Б.
</select>
<select name='s2'id='s2' style='display:none; width:130px;'>
<option value='zero'>
<option value='Іващенко О.О.' >Іващенко О.О.
</select>
<select name='sp1'id='sp1' style='display:none; width:130px;'>
<option value='zero'>
<option value='Вашкевич М.Ю.' >Вашкевич М.Ю.
</select>
<select name='sp2'id='sp2' style='display:none; width:130px;'>
<option value='zero'>
<option value='Гавриленко Ю.П.' >Гавриленко Ю.П.
</select>
<select name="group" onChange="java script:show(value)">
<option value='void'>
<option value="c1">КС-071
<option value="c2">КС-072
<option value="c3">КС-073
<option value="c4">КС-074
<option value="c5">КС-075
<option value="c6">КС-076
<option value="s1">СК-071
<option value="s2">СК-072
<option value="sp1">СП-071
<option value="sp2">СП-072
</select>
<input name="Submit" id='cc' type=submit value="OK">
</form>
</body>
 
H

heller

#4
- а почему option не закрываете?
- зачем так много селектов? одним никак необойтись?
- при выборе <option value='void'> у вас обломается document.getElementById(id).style.display="inline";
- остальное вроде работает (IE7)
тестировал в ие6, причем, как я уже говорил, если оставить только три операции
document.getElementById('c1').style.display="none";
document.getElementById('c2').style.display="none";
document.getElementById(id).style.display="inline";
то будет работает и в ие.
впрочем, проблему я уже решил: использовал скрипт chained select, так что спасибо всем, кто откликнулся на мой вопрос. Хотя узнать причины неработоспособности скрипта все же хотелось бы.
А селектов нужно так много, ведь там не по одной опции, а фамилий штук под тридцать в каждом. Хотя с помощью cs как раз одним и обошелся.
 
Статус
Закрыто для дальнейших ответов.