Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 на радио кнопках. Но если событие текстового поля не срабатывает - срабатывают радио кнопки. В общем у меня образовалась коллизия (столкновение двух обработчиков).

Все что я хочу сделать - чтобы при включенном ОДИН включалась текстовое поле. При набирании текста запускалась функция обработки ошибок на это поле. Как только я нажимаю на ДВА - запускалась функция обработки событий на радиокнопках, что это текстовое поле подчищает и деактивирует, и функция обработки ошибок НЕ запускалась. Как это сделать? Надеюсь понятно объяснил. Пример могу накатать, если нужно.
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2012, 20:17
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,220

Сообщение от Forgotten
. Пример могу накатать, если нужно.
Да - Пожалуйста - Код заключайте в теги
[HTML run][/HTML]
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2012, 20:34
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Forgotten,
используйте другое событие для проверки правильности ввода данных, потому как в вашем случае onchange срабатывает у инпута при потере фокуса, поэтому оно всегда будет срабатывать до наступления события для радиобатонов. Попробуйте на текстовое поле вешать например события oninput, onkeypress, onkeydown, onkeyup и т.д. В этих случая при потере фокуса не будет срабатывать событие при клике на радиобатон
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2012, 13:29
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

на инпут onkeyup на батоны focus и blur
__________________

Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с событиями в Мозилле. eirnvn Events/DOM/Window 7 30.01.2012 08:34
Помогите разобраться с событиями и jquery prowoke jQuery 0 09.12.2010 11:40
Помогите с событиями Suharik Events/DOM/Window 8 27.08.2010 18:25
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
помогите с событиями zmaxik Общие вопросы Javascript 12 10.08.2009 19:42