Показать сообщение отдельно
  #1 (permalink)  
Старый 31.10.2012, 19:20
Новичок на форуме
Отправить личное сообщение для LiSS Посмотреть профиль Найти все сообщения от LiSS
 
Регистрация: 31.10.2012
Сообщений: 2

Не работает DISPLAY=none/block на динамически созданной странице
Доброго вечера всем!
Помогите, пожалуйста разобраться. У меня такой код:

<form name="form1" onSubmit="return validate(this);">
<table border="1">
<tr>
<th>Учащиеся</th>
<th>Математика</th>
<th>Физика</th>
</tr>
<tr>
<td>Иванов Иван Иванович</td>
<td>
<input type="radio" onClick="cont1.style.display='none';     form1.fiz1[0].disabled=true; form1.fiz1[0].checked=false; form1.fiz1[1].disabled=true; form1.fiz1[1].checked=false;
form1.fiz1[2].disabled=true; addcertfform.fiz1[2].checked=false;" name="mat1" value="-1" />не явка</BR>
<input type="radio" onClick="cont1.style.display='none'; form1.fiz1[0].disabled=true; form1.fiz1[0].checked=false;
form1.fiz1[1].disabled=true; form1.fiz1[1].checked=false;
form1.fiz1[2].disabled=true; form1.fiz1[2].checked=false;"
name="mat1" value="0" />не сдал</br>
<input type="radio" onClick="cont1.style.display='block';
form1.fiz1[0].disabled=false; form1.fiz1[1].disabled=false; form1.fiz1[2].disabled=false;" name="mat1" value="1" />сдал</br>
</td>
<td>
<div id="cont1" style='display:none;'>
<input type="radio" name="fiz1" id="fiz1" value="-1" />не явка</BR>
<input type="radio" name="fiz1" id="fiz1" value="0" />не сдал</br>
<input type="radio" name="fiz1" id="fiz1" value="1" />сдал</br>
</div>
</td>
</tr>
<tr>
<td>Петров Петр Петрович</td>
<td>
<input type="radio" onClick="cont2.style.display='none';" name="mat2" value="-1" />не явка</br>
<input type="radio" onClick="cont2.style.display='none';" name="mat2" value="0" />не сдал</br>
<input type="radio" onClick="cont2.style.display='block';" name="mat2" value="1" />сдал</br>
</td>
<td>
<div id="cont2" style='display:none;'>
<input type="radio" name="fiz2" id="fiz2" value="-1" />не явка</BR>
<input type="radio" name="fiz2" id="fiz2" value="0" />не сдал</br>
<input type="radio" name="fiz2" id="fiz2" value="1" />сдал</br></div>
</td>
</tr>
</table>
<p>
<input type = 'button' name = 'but1' value = 'Сохранить'/> 
</p>
</form>


Есть Учащиеся, которым нужно проставить результаты экзаменов. К примеру, Иванов по Математике имеет отметку НЕ ЯВКА или НЕ СДАЛ, то нужно скрыть группу радиобуттонов по Физике. И сделать видимым, если результат экзамена по Математике = СДАЛ. В выше приведенном коде все прекрасно работает. (Первоначально была задача группу радиобуттонов по Физике сделать недоступным, но оставить видимым, что тоже все хорошо работает в коде (form1.fiz1[0].disabled=true; form1.fiz1[0].checked=false;
form1.fiz1[1].disabled=true; form1.fiz1[1].checked=false;
form1.fiz1[2].disabled=true; form1.fiz1[2].checked=false; ) )

Вопрос в следующем.
Когда список учащихся формируется динамически, т.е. из БД вытаскивается список Учащихся, количество которых каждый раз разное в зависимости от заданных условий.

echo "<table id='exam' border='0'>";
echo "<tbody>";
echo "<tr><th>Учащиеся</th><th>Математика</th>		<th>Физика</th></tr>";
for($i=0;$i<$n;$i++) 
{
echo "<tr>
<td>",mysql_result($kur,$i,Fam),"</td>
echo "<td>
<label>
<input type = 'radio' name =mat[".$i."] value='-1' onClick='cont".i.".style.display='none'; form1.fiz".$i."[0].disabled=true; form1.fiz".$i."[0].checked=false; form1.fiz".$i."[1].disabled=true; form1.fiz".$i."[1].checked=false; form1.fiz".$i."[2].disabled=true; form1.fiz".i."[2].checked=false; '>Не явка<br/>
</label>
<label>
<input type = 'radio' name =mat[".$i."] value='0' onClick='cont".i.".style.display='none'; form1.fiz".$i."[0].disabled=true; form1.fiz".$i."[0].checked=false; 					 form1.fiz".$i."[1].disabled=true; form1.fiz".$i."[1].checked=false; 
form1.fiz".$i."[2].disabled=true; form1.fiz".$i."[2].checked=false;'>Не сдал<br/>
</label>
<label>
<input type = 'radio' name =mat[".$i."] value='1' onClick='cont".$i.".style.display='block'; form1.fiz".$i."[0].disabled=false; 
form1.fiz".$i."[1].disabled=false; form1.fiz".$i."[2].disabled=false;'>Сдал</label>
</td>
</tr>
}


В данном коде пока не нужно было скрыть блок, все работало. Не работает именно cont".$i.".style.display='block';
Подскажите, пожалуйста, в чем может проблема.

Последний раз редактировалось LiSS, 31.10.2012 в 19:23.
Ответить с цитированием