Ниже мой JavaScript (MooTools) Код:event.preventDefault() функция не работает в IE
$('orderNowForm').addEvent('submit', function (event) {
event.preventDefault();
allFilled = false;
$$(".required").each(function (inp) {
if (inp.getValue() != '') {
allFilled = true;
}
});
if (!allFilled) {
$$(".errormsg").setStyle('display', '');
return;
} else {
$$('.defaultText').each(function (input) {
if (input.getValue() == input.getAttribute('title')) {
input.setAttribute('value', '');
}
});
}
this.send({
onSuccess: function() {
$('page_1_table').setStyle('display', 'none');
$('page_2_table').setStyle('display', 'none');
$('page_3_table').setStyle('display', '');
}
});
});
Во всех браузерах, кроме IE, это работает отлично. Но в IE это вызывает ошибку. У меня IE8, поэтому, используя его отладчик JavaScript, я обнаружил, что объект event
не имеет метода preventDefault
, который вызывает ошибку, и поэтому форма отправляется. Метод поддерживается в случае Firefox (который я узнал с помощью Firebug).
Любая помощь?
Он делает; в соответствии с документами (http://mootools.net/docs/core/Native/Event#Event:preventDefault), что он должен работать: «Метод событий: preventDefault - метод перекрестного браузера, чтобы предотвратить действие по умолчанию для события». –
Мой плохой, я удалил свой комментарий, который был «у mootools есть способ остановить события?». Так что проблема с mootools на ie8 ... – Alsciende
Невозможно воспроизвести эту проблему. [Эта скрипка] (http://jsfiddle.net/tofu/6E4Eq/show/) «работает для меня, например, 8». Не могли бы вы настроить сниженный скрипт, чтобы показать ошибку? http://jsfiddle.net/ – eerne