我有一个正在向外部服务提交一些数据的表单。它在 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()
- jquery 1.7(旧版本的jquery)我知道1.x支持IE6+,2.x支持IE9+。所以我应该能够使用 2.x,但为了安全起见,我使用 1.x
为什么在IE10中提交?
最佳答案
尝试这个纯 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;
}
}
关于javascript - 停止 IE10 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31619334/