Помогите с событиями
Итак, вот что мы имеем. Есть две радио-кнопки, например пусть это будет
Один Два Напротив радиокнопки "Один" расположено текстовое поле, которое активируется при активации этой кнопки (item(0)) и деактивируется при ее деактивации (item(1)). За этими радиоэлементами закреплено событие onChange, которое вызывает соответствующую функцию обработки вышеупомянутого. Назовем эту функцию f_radio(); . Когда мы выбираем "Один", функция активирует текстовое поле и деактивирует с вычищением всего что там было написано. И все бы хорошо, пока не появилась другая функция - функция обработки ошибочного ввода. Назовем текстовое поле "inputsaved" и оно существует само по себе. За этим полем закреплен еще один onChange, который вызывает эту другую функцию f_testGab(); . Функция проверяет текст на целые значения и обрабатывает ошибки при их нахождении. Но. До того как я подключил эту вторую функцию с этим вторым onChange все работало. Но теперь - при срабатывании onChange на радио кнопках (с item(0) на item(1) ) запускается функция обработки onChange на текстовом поле. И подавляется событие onChange на радио кнопках. Но если событие текстового поля не срабатывает - срабатывают радио кнопки. В общем у меня образовалась коллизия (столкновение двух обработчиков). Все что я хочу сделать - чтобы при включенном ОДИН включалась текстовое поле. При набирании текста запускалась функция обработки ошибок на это поле. Как только я нажимаю на ДВА - запускалась функция обработки событий на радиокнопках, что это текстовое поле подчищает и деактивирует, и функция обработки ошибок НЕ запускалась. Как это сделать? Надеюсь понятно объяснил. Пример могу накатать, если нужно. |
Цитата:
[HTML run][/HTML] |
Forgotten,
используйте другое событие для проверки правильности ввода данных, потому как в вашем случае onchange срабатывает у инпута при потере фокуса, поэтому оно всегда будет срабатывать до наступления события для радиобатонов. Попробуйте на текстовое поле вешать например события oninput, onkeypress, onkeydown, onkeyup и т.д. В этих случая при потере фокуса не будет срабатывать событие при клике на радиобатон |
на инпут onkeyup на батоны focus и blur
|
Часовой пояс GMT +3, время: 13:22. |