Я представляю форму, и я хочу предотвратить действие отправки, пока не сделаю еще несколько действий, например, показывая индикатор выполнения для загрузки файлов. Я настроил этот код на основе SO вопросов, таких как event.preventDefault() function not working in IE.event.preventDefault в IE 10
$(document).ready(function(){
$("#fileform").submit(function(e){
if(!e) e = window.event;
if (e.preventDefault){
// Firefox, Chrome
e.preventDefault();
}else{
// Internet Explorer
e.returnValue = false;
}
// other code
}
}
Все работает отлично в Firefox и Chrome; действие отправки предотвращается, появляется индикатор выполнения, после чего форма отправляется, когда я говорю. Тем не менее, в IE 10 выполняется первое условие оператора if, и форма, кажется, пытается подать (появляются пузыри представления IE 10). Почему выполняется первое условие?
Поддерживает ли IE 10 предупреждениеDefault(), где IE 8 и 9 не было? Если да, то как мне надлежащим образом обрабатывать предотвращение действия отправки формы в IE 8, 9, 10, которые не будут мешать Firefox, Chrome, Safari и т. Д.??
Когда я использую этот код, ничего не меняется. Firefox и Chrome все еще работают нормально, но мой индикатор выполнения не отображается в IE (появляются формы IE формы). –
Ничего, ты прав. Событие нормализуется в jQuery, а e.preventDefault() работает должным образом. Благодарю. –