我有一个表单正在向外部服务提交一些数据。它可以在Chrome中运行,但表单仍然在IE10中提交。我查看了this帖子,但解决方案无效。
这是我的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>
所以我尝试了很多东西(没有特定的顺序):
event.stopPropagation();
if(!event) event = window.event;
event.returnValue = false;
.click()
代替.submit()
为什么要在IE10中提交?
答案 0 :(得分: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;
}
}
答案 1 :(得分:-2)
event.preventDefault()是正确的并且有效。 但是,完整代码中的其他行可能会令人困惑。 尝试在另一个HTML文档中隔离此片段。这对我有用。