Предлагаю вопрос на засыпку. В инете ответа так и не нашел.
В форме сделал поле ввода данных. При изменении содержимого поля вызывается функция javascript которая должна переключить трехпозиционную радиокнопку в нужное положение. И вот здесь у меня загвоздка. Все способы которые я пробовал вызывают ошибку. Если не трудно, прошу выложить пример работающего кода (достаточно одной строчки), или дать ссылку по теме.
Спустя 13 минут, 47 секунд (31.07.2008 - 12:08) sergeiss написал(а):
Вот такой пример (рабочий):
<input name="radiobut" type="radio" value="val1" />
<input name="radiobut" type="radio" value="val2" />
<input type="button" name="Button" value="Button" onclick="radiobut[0].checked=true;" />
При нажатии кнопки выбирается первая величина, вне зависиости от предыдущего состояния.
<input name="radiobut" type="radio" value="val1" />
<input name="radiobut" type="radio" value="val2" />
<input type="button" name="Button" value="Button" onclick="radiobut[0].checked=true;" />
При нажатии кнопки выбирается первая величина, вне зависиости от предыдущего состояния.
Спустя 43 минуты, 55 секунд (31.07.2008 - 12:52) Alecs написал(а):
Цитата(sergeiss @ 31.7.2008, 9:08) [snapback]44893[/snapback]
Вот такой пример (рабочий):
<input name="radiobut" type="radio" value="val1" />
<input name="radiobut" type="radio" value="val2" />
<input type="button" name="Button" value="Button" onclick="radiobut[0].checked=true;" />
При нажатии кнопки выбирается первая величина, вне зависиости от предыдущего состояния.
<input name="radiobut" type="radio" value="val1" />
<input name="radiobut" type="radio" value="val2" />
<input type="button" name="Button" value="Button" onclick="radiobut[0].checked=true;" />
При нажатии кнопки выбирается первая величина, вне зависиости от предыдущего состояния.
Я так и думал. Этот вариант я опробовал самым первым.
Вот выкладываю код. Почему он не работает?
Код
<script language="JavaScript">
function swicher (vvv){
document.getElementsByName(vvv)[1].checked=true;
}
</script>
<form action="lop.php" method="get">
<tr bgcolor=\"#808080\">
<td align="right"><input onchange="swicher (mode_0)" type="text" name="zz1"></td>
<td><input type="radio" name="mode_0" value="0" CHECKED></td>
<td><input type="radio" name="mode_0" value="1"></td>
<td><input type="radio" name="mode_0" value="2"></td>
</tr>
</form>
function swicher (vvv){
document.getElementsByName(vvv)[1].checked=true;
}
</script>
<form action="lop.php" method="get">
<tr bgcolor=\"#808080\">
<td align="right"><input onchange="swicher (mode_0)" type="text" name="zz1"></td>
<td><input type="radio" name="mode_0" value="0" CHECKED></td>
<td><input type="radio" name="mode_0" value="1"></td>
<td><input type="radio" name="mode_0" value="2"></td>
</tr>
</form>
Спустя 13 минут, 49 секунд (31.07.2008 - 13:06) sergeiss написал(а):
onchange срабатывает не тогда, когда ты что-то меняешь, а когда фокус смещается с этого поля ввода (с уже измененным текстом) на другое что-то. Я по этим граблям прыгал не далее, как пару дней тому назад
А идея была подобная: только при изменении текста кнопка submit становится доступной, иначе видна, но нажать нельзя.
В итоге я повесил функцию-обработчик как на onchange, так и на onkeypress. Сейчас всё работает, как часы (швейцарские, дорогие).
При этом уже не важно, за счет чего изменяется текст - это может быть как нажатие клавиш, так и любые изменения, сделанные программно.

В итоге я повесил функцию-обработчик как на onchange, так и на onkeypress. Сейчас всё работает, как часы (швейцарские, дорогие).
При этом уже не важно, за счет чего изменяется текст - это может быть как нажатие клавиш, так и любые изменения, сделанные программно.
Спустя 33 минуты, 5 секунд (31.07.2008 - 13:39) Alecs написал(а):
Цитата(sergeiss @ 31.7.2008, 10:06) [snapback]44896[/snapback]
onchange срабатывает не тогда, когда ты что-то меняешь, а когда фокус смещается с этого поля ввода (с уже измененным текстом) на другое что-то. Я по этим граблям прыгал не далее, как пару дней тому назад
А идея была подобная: только при изменении текста кнопка submit становится доступной, иначе видна, но нажать нельзя.
В итоге я повесил функцию-обработчик как на onchange, так и на onkeypress. Сейчас всё работает, как часы (швейцарские, дорогие).
При этом уже не важно, за счет чего изменяется текст - это может быть как нажатие клавиш, так и любые изменения, сделанные программно.

В итоге я повесил функцию-обработчик как на onchange, так и на onkeypress. Сейчас всё работает, как часы (швейцарские, дорогие).
При этом уже не важно, за счет чего изменяется текст - это может быть как нажатие клавиш, так и любые изменения, сделанные программно.
Совершенно согласен, не важно на какое событие ставить обработчик. Только моя проблема не в том, что не вызывается функция, а в том что во время выполнения функции выплывает ошибка. Отладчик FireBug выдает такой текст:
document.getElementsByName(vvv)[1] has no properties
swicher([input 0, input 1, input 2])index.php (line 124)
onchange(change )index.php (line 1)
[Break on this error] <td align="CENTER">
Спустя 13 минут, 1 секунда (31.07.2008 - 13:52) sergeiss написал(а):
Ну дык... Ты сначала сказал "код не работает". А оказывается, он работает, но с ошибкой. А это "две большие разницы" 
Поставь при вызове mode_0 в апострофы, т.е. swicher( 'mode_0'). Ты же подразумеваешь символьную строку (в функции), а передаешь НЕ строку.

Поставь при вызове mode_0 в апострофы, т.е. swicher( 'mode_0'). Ты же подразумеваешь символьную строку (в функции), а передаешь НЕ строку.
Спустя 30 минут, 2 секунды (31.07.2008 - 14:22) Alecs написал(а):
Цитата(sergeiss @ 31.7.2008, 10:52) [snapback]44905[/snapback]
Ну дык... Ты сначала сказал "код не работает". А оказывается, он работает, но с ошибкой. А это "две большие разницы" 
Поставь при вызове mode_0 в апострофы, т.е. swicher( 'mode_0'). Ты же подразумеваешь символьную строку (в функции), а передаешь НЕ строку.

Поставь при вызове mode_0 в апострофы, т.е. swicher( 'mode_0'). Ты же подразумеваешь символьную строку (в функции), а передаешь НЕ строку.
Спасибо. Себе уже настучал пяткой по затылку, чтоб внимательнее был.

Спустя 5 месяцев, 26 дней, 5 часов, 44 секунды (1.02.2009 - 20:23) Guest написал(а):















Код |
$say_hello=echo("Hello World"); |
Спустя 6 минут, 10 секунд (1.02.2009 - 20:29) Guest написал(а):
Код |
$a=(int)3;$b=(int)5; function add(){ global $a,$b; $c=$a+$b; echo $c;} |
_____________