[TC] Disabled checkbox: what's wrong?

Vande omentaina, Tiflocomp!
Есть такой скрипт:
<html>
<head>
<title>Grayed field test</title>
<script>
function setGrayed () {
if (document.colors.favorite.value!=4) {
document.colors.other.disabled=true;
}
}
</script>
</head>
<body>
<form name="colors" action="" method=post>
<label for="favorite" accesskey="c">Select your favorite color:</label>
<select name="favorite" size=1 onChange="JavaScript: setGrayed (); return true;">
<option value=1>Red</option>
<option value=2>Green</option>
<option value=3>Blue</option>
<option value=4>Other color</option>
</select>
<input type="checkbox" name="other">I'd like to answer more questions
<input type="submit" name="go" value="Accept form" accesskey="s">
</form>
</body>
</html>
Ожидаемый результат: по каждому движению курсора по комбобоксу скрипт
должен отрабатывать и смотреть, не стоит ли значение "Other color"
(4). Если не стоит, то флажок должен быть дисэйблнут, если стоит
-доступен.
что получаем: во-первых, Осёл ругается страшными словами, что у меня
супермегагиперопасный скрипт или ActiveX (это что, у всех так
будет???). Во-вторых, сначала флажок доступен, что бы я ни делал.
Потом, когда я ставлю "Other color", а затем переключаюсь на другое
значение, флажок становится серым. И дальше что бы я ни делал, он
таковым и остаётся.
Вопрос: что не так?
Спасибо!
Доброго времени суток, уважаемая рассылка и Anarendil.
Friday, July 10, 2009, 3:13:11 PM, you wrote:
Вот вариант данного скрипта (работает как под IE, так и под Firefox)
<html>
<head>
<title>Grayed field test</title>
<script>
function setGrayed ()
{
var favorite = document.getElementById('favorite');
var other = document.getElementById('other');
if (favorite.value!=4)
{
other.disabled=true;
}
else
{
other.disabled=false;
}
}
</script>
</head>
<body onLoad = "setGrayed();">
<form name="colors" action="" method=post>
<label for="favorite" accesskey="c">Select your favorite color:</label>
<select id="favorite" name="favorite" size=1 onKeyUp="setGrayed ();">
<option value=1>Red</option>
<option value=2>Green</option>
<option value=3>Blue</option>
<option value=4>Other color</option>
</select>
<input type="checkbox" id="other" name="other">I'd like to answer more questions
<input type="submit" name="go" value="Accept form" accesskey="s">
</form>
</body>
</html>
У меня такого нет!
Его нужно сначала отключить в onLoad'е
Правильно, вы в условии if ... этого не оговорили.
Удачи!