Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Перехватить onchange="this.form.submit()" (https://javascript.ru/forum/events/4703-perekhvatit-onchange%3D-form-submit.html)

Winner 14.08.2009 16:09

Перехватить onchange="this.form.submit()"
 
Здравствуйте Уважаемые!
Пожалуйста, помогите решить проблему. Не получается перехватить сабмит вызванный изменением select- onchange="this.form.submit()". Перехват события не работает:

document.captureEvents(Event.ONSUBMIT);
document.onsubmit =function_onsubmit;

Заранее благодарен за помощь.

B~Vladi 14.08.2009 16:10

Цитата:

Сообщение от Winner
document.onsubmit

нет такого

на саму форму вешайте событие onsubmit.

Winner 14.08.2009 16:16

Цитата:

Сообщение от B~Vladi (Сообщение 26935)
нет такого ...

Странно... почему-то при клике по input type=submit это прекрасно работает ...?
WXP, FireFox 3.5.2.

B~Vladi 14.08.2009 16:18

а должно?! Первый раз слышу. Что вам мешает пойти простым путём?

onchange="this.form.onsubmit=fnc; this.form.submit()"

Winner 14.08.2009 16:50

B~Vladi, спасибо за совет! Проблема в том, что нет возможности вписывать что-то в теги. Можно как нибудь сделать это дистанционно? Например, что то вроде этого:

if(
/\.submit\(\)/i.test(forms[0].elements[number].onchange)
)

{

forms[0].elements[number]setAttribute('onchange', 'this.form.onsubmit=fnc; this.form.submit()');

}

Только наверное это некорректно. Пожалуйста подскажите как это сделать правильно.

B~Vladi 14.08.2009 16:58

Ну в принципе идёте в правильном направлении... Я не знаю вашего HTML. Прочитав статью, вы легко сами можете найти нужную форму и повесить нужные обработчики.


Часовой пояс GMT +3, время: 13:40.