2015-07-24 2 views
1

У меня есть форма, представляющая некоторые данные для внешней службы. Он работает в Chrome, но форма продолжает отправляться в IE10. Я просмотрел сообщение this, но решение не работает.Остановить IE10 Отправка формы

Вот мой Javascript код:

$('#scanUrl').submit(function(event){ 
     event.preventDefault();  
}); 

А потом я использую jquery-1.11.3.min.js и моя форма выглядит следующим образом:

<form style="margin-left:10%;" id="scanUrl"> 
    <div class="form-group"> 
    <label for="urlHolder" style="color: white; font-size: medium;">URL to Scan:</label> 
    <input type="text" class="form-control" id="urlHolder" style="width: 40%;"> 
    </div> 
    <button class="btn btn-primary btn-lg" >Scan</button> 
    <button class="btn btn-primary btn-lg" id="helpButton">Help</button> 
</form> 

Так я пытался много вещей (в произвольном порядке):

  1. event.stopPropagation();

  2. if(!event) event = window.event;

  3. event.returnValue = false;
  4. .click() вместо .submit()
  5. JQuery 1.7 (старая версия JQuery) Я знаю, что 1.x поддерживает IE6 + и 2.x поддерживает IE9 +. Поэтому я должен использовать 2.x, но для безопасности я использую 1.x

Почему он отправляется в IE10?

+0

одна возможность ошибки быть брошенным перед этим кодом даже пожары и preventDefault и представить обработчик никогда не будет активизироваться. Любые ошибки в консоли? – charlietfl

+0

@Nathan уже в OP-коде – charlietfl

+0

@charlietfl Yup Я понял, что слишком поздно! Просто удалил его. – Nathan

ответ

-2

event.preventDefault() является правильным и работает. Однако другие строки в вашем полном коде могут быть конфликтованы. Попробуйте выделить этот фрагмент в другом документе HTML. Это работает для меня.

0

Попробуйте это чистый JS код

var form = document.getElementById('scanUrl'); 
if (form.addEventListener){ 
    form.addEventListener('submit', handler, false); 
} else if (element.attachEvent){ 
    form.attachEvent('onsubmit', handler); 
} else { 
    form ['onsubmit'] = handler; 
} 

function handler(event){ 
    var e = event ? event : window.event; 
    if(e.prevnetDefault) { 
     e.preventDefault(); 
    } else { 
     e.returnValue = false; 
    }  
} 
Смежные вопросы