我有一个表单,它向外部服务提交一些数据。它在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中提交?
发布于 2015-07-24 23:26:17
试试这个纯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;
}
}
发布于 2015-07-24 21:06:05
event.preventDefault()是正确的,并且工作正常。但是,完整代码中的其他行可能合并。尝试将此片段隔离到另一个HTML文档中。这对我有用。
https://stackoverflow.com/questions/31619334
复制相似问题