Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   В IE не срабатывает событие "change" (mootools) (https://javascript.ru/forum/events/5023-v-ie-ne-srabatyvaet-sobytie-change-mootools.html)

ZYBRIK 09.09.2009 15:12

В IE не срабатывает событие "change" (mootools)
 
Есть mootools скрипт отправки данных с формы.
Вместо события "submit" поставил "change", и скрипт перестал в IE, а в Opera все отлично работает. Подскажите, может я что то неправильно понимаю...
При этом "submit" работает даже в IE..

<html>
<head>
	<script type="text/javascript" src="../js/mootools.js"></script>
<script>

window.addEvent('domready', function() {
	// You can skip the following two lines of code. We need them to make sure demos
	// are runnable on MooTools demos web page.
	if (!window.demo_path) window.demo_path = '';
	var demo_path = window.demo_path;
	// --
	$('myForm').addEvent('[B]change[/B]', function(e) {
		//Prevents the default submit event from loading a new page.
		e.stop();
		//Empty the log and show the spinning indicator.
		var log = $('log_res').empty().addClass('ajax-loading');
		//Set the options of the form's Request handler. 
		//("this" refers to the $('myForm') element).
		this.set('send', {onComplete: function(response) { 
			log.removeClass('ajax-loading');
			log.set('html', response);
		}});
		//Send the form.
		this.send();
	});
});
</script>

	 <form id="myForm" action="ajax_admin.php" method="get">
	  <select name="x_name">
	   <option value="kluch">Выбрать</option>
	   <option value="tip">Тип</option>
	   <option value="print">Печать</option>
	 </select>
	</form>
</body>
</html>

Gvozd 09.09.2009 15:38

наверно не работает, потому что у формы нету такого события как onchange?)

Zybrik 09.09.2009 15:45

А почему же в Opere все работает как надо....
 
Цитата:

Сообщение от Gvozd (Сообщение 29682)
наверно не работает, потому что у формы нету такого события как onchange?)

Подскажите плиз... как нужно сделать... хотя бы теорию...

Gvozd 09.09.2009 15:50

ну, если вас надо отлавливать любые изменения в форме, то вешайте обработчики события на ВСЕ элементы формы на onchange
при изменении соответсвенно любого будет срабатывать ваш обработчик

Serg_pnz 15.09.2009 13:16

http://demos111.mootools.net/Ajax.Form

Но есть очень важное замечание, касательно ИЕ и mootools - надо прибивать отправку данных средствами самой формы, т.е.
."<input onclick=\"return false;\" type=\"submit\"  class=\"log-in-but\" name=\"button\" id=\"submitter1\" value=\"Вход\" />"


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