|
|
|
| Уважаемые форумчане! Подскажите, пожалуйста, новичку, как быть в следующей ситуации:
Есть форма с переключателями и двумя выпадающими списками.
Надо, чтобы второй выпадающий список блокировался при одновременном выполнении двух условий: определенном значении переключателя и определенном выборе из первого выпадающего списка.
В нижеприведенном примере ситуация, когда второе поле выбора ("Укажите возраст и стаж водителя") должно быть заблокировано наступает при собственнике ТС - Юридическом лице и одновременном месте регистрации ТС - РФ. В примере реализована блокировка только по выбору собственника ТС.
Подскажите, как сделать блокировку по двум условиям и возможно ли "навешивание" на событие onchange нескольких функций?
<script language="JavaScript">
function enterSV(form, value)
{
if (value==2)
{
form.sv.disabled = true;
form.sv.style.backgroundColor = "#EEEEEE";
}
else
{ form.sv.disabled = false;
form.sv.style.backgroundColor = "#FFFFFF";
}
}
</script>
</head>
<body>
<TABLE>
<TR>
<TD>Собственник транспортного средства</TD>
<TD><input type = "radio" name = "face" value="1" checked onclick="enterSV(this.form, 1)">Физическое лицо</TD>
<td width="30%"><input type = "radio" name = "face" value="2" onclick="enterSV(this.form, 2)">Юридическое лицо</td>
</TR>
<TR>
<TD>Место регистрации транспортного средства</TD>
<TD><SELECT name="registration">
<OPTION value="1">Российская Федерация</OPTION>
<OPTION value="2">Иностранное государство</OPTION>
<OPTION value="3">Транспортное средство следует к месту регистрации</OPTION>
</SELECT></TD>
</TR>
<tr>
<td>Укажите возраст и стаж водителя</td>
<td><SELECT name="sv">
<OPTION value=1.7>возраст до 22 лет включительно, стаж до 3 лет включительно</OPTION>
<OPTION value=1.5>возраст более 22 лет, стаж до 3 лет включительно</OPTION>
<OPTION value=1.3>возраст до 22 лет включительно, стаж свыше 3 лет</OPTION>
<OPTION value=1>возраст более 22 лет, стаж свыше 3 лет</OPTION>
</SELECT></td>
</TR>
|
| |
|
|
|
|
|
|
|
для: Black__Hole
(14.07.2009 в 17:59)
| |
<form action="">
<TABLE>
<TR>
<TD>Собственник транспортного средства</TD>
<TD><input type = "radio" name = "face" value="1" checked onclick="this.form.sv.disabled=false;">Физическое лицо</TD>
<td width="30%"><input type = "radio" name = "face" value="2" onclick="if(this.form.registration.value==1) this.form.sv.disabled=true;">Юридическое лицо</td>
</TR>
<TR>
<TD>Место регистрации транспортного средства</TD>
<TD><SELECT name="registration">
<OPTION value="1">Российская Федерация</OPTION>
<OPTION value="2">Иностранное государство</OPTION>
<OPTION value="3">Транспортное средство следует к месту регистрации</OPTION>
</SELECT></TD>
</TR>
<tr>
<td>Укажите возраст и стаж водителя</td>
<td><SELECT name="sv">
<OPTION value=1.7>возраст до 22 лет включительно, стаж до 3 лет включительно</OPTION>
<OPTION value=1.5>возраст более 22 лет, стаж до 3 лет включительно</OPTION>
<OPTION value=1.3>возраст до 22 лет включительно, стаж свыше 3 лет</OPTION>
<OPTION value=1>возраст более 22 лет, стаж свыше 3 лет</OPTION>
</SELECT></td>
</TR>
</TABLE>
</form>
|
PS. Спискам не мешало бы добавить опшены "Выберите....". | |
|
|
|
|
|
|
|
для: sim5
(14.07.2009 в 18:14)
| | <OPTION value=1.7>возраст до 22 лет включительно, стаж до 3 лет включительно</OPTION>
<OPTION value=1.5>возраст более 22 лет, стаж до 3 лет включительно</OPTION>
<OPTION value=1.3>возраст до 22 лет включительно, стаж свыше 3 лет</OPTION>
<OPTION value=1>возраст более 22 лет, стаж свыше 3 лет</OPTION>
Вот за такое usability нужно рвать яйца. Это же два ортогональных параметра - возраст и стаж.
PS. Да, я знаю как устроены тарифы Осаго. Я не об этом. | |
|
|
|
|
|
|
|
для: Trianon
(14.07.2009 в 18:35)
| | А я тут при чем? | |
|
|
|
|
|
|
|
для: sim5
(14.07.2009 в 18:42)
| | Относится, само собой, к автору SELECT'а | |
|
|
|
|
|
|
|
для: Trianon
(14.07.2009 в 18:49)
| | Ах вон оно что, а мои значит могли чисто случайно пострадать? :) | |
|
|
|
|
|
|
|
для: sim5
(14.07.2009 в 18:51)
| | Запросто. | |
|
|
|
|
|
|
|
для: sim5
(14.07.2009 в 18:14)
| | А не работает так, чтобы блокировка была только в случае выбора Юр.лица и РФ.. :(
Уточню: не работает таким образом, чтобы при on-line перемене места регистрации блокировка шла только для варианта Юр.лицо+РФ
P.S. А зачем опшены "Выберите"? Тогда придется проверять, сделал ли пользователь выбор.. | |
|
|
|
|
|
|
|
для: Black__Hole
(14.07.2009 в 19:59)
| | Ну что вы ерунду порете? Юр.лица у вас радиокнопка, а РФ первый опшен списка, именно при этих условиях и не доступен список второй.
PS. А нет, вы всмысле о выборе по селекту. Добавьте так:
<SELECT name="registration" onchange="if(this.form.face[1].checked && this.value==1) this.form.sv.disabled=true; else this.form.sv.disabled=false;">
Зачем добавлять? Во-первых пользователь должен знать, что от него хотят. Ну хотя бы по умолчанию выберите опшены списков. А что проверять? Только на сервере, а на клиенте не требуется, если вы не проверяете форму перед отправкой. | |
|
|
|
|
|
|
|
для: sim5
(14.07.2009 в 20:06)
| | Сердечно благодарю! Все прекрасно работает! | |
|
|
|