Показать сообщение отдельно
  #1 (permalink)  
Старый 02.09.2012, 20:00
Интересующийся
Отправить личное сообщение для Forgotten Посмотреть профиль Найти все сообщения от Forgotten
 
Регистрация: 19.08.2012
Сообщений: 15

Помогите с событиями
Итак, вот что мы имеем. Есть две радио-кнопки, например пусть это будет

Один
Два

Напротив радиокнопки "Один" расположено текстовое поле, которое активируется при активации этой кнопки (item(0)) и деактивируется при ее деактивации (item(1)). За этими радиоэлементами закреплено событие onChange, которое вызывает соответствующую функцию обработки вышеупомянутого. Назовем эту функцию f_radio(); . Когда мы выбираем "Один", функция активирует текстовое поле и деактивирует с вычищением всего что там было написано.

И все бы хорошо, пока не появилась другая функция - функция обработки ошибочного ввода. Назовем текстовое поле "inputsaved" и оно существует само по себе. За этим полем закреплен еще один onChange, который вызывает эту другую функцию f_testGab(); . Функция проверяет текст на целые значения и обрабатывает ошибки при их нахождении.

Но. До того как я подключил эту вторую функцию с этим вторым onChange все работало. Но теперь - при срабатывании onChange на радио кнопках (с item(0) на item(1) ) запускается функция обработки onChange на текстовом поле. И подавляется событие onChange на радио кнопках. Но если событие текстового поля не срабатывает - срабатывают радио кнопки. В общем у меня образовалась коллизия (столкновение двух обработчиков).

Все что я хочу сделать - чтобы при включенном ОДИН включалась текстовое поле. При набирании текста запускалась функция обработки ошибок на это поле. Как только я нажимаю на ДВА - запускалась функция обработки событий на радиокнопках, что это текстовое поле подчищает и деактивирует, и функция обработки ошибок НЕ запускалась. Как это сделать? Надеюсь понятно объяснил. Пример могу накатать, если нужно.
Ответить с цитированием