Jquery 在ie中提交表格
我使用了Jquery 在ie中提交表格,jquery,internet-explorer-8,Jquery,Internet Explorer 8,我使用了e.preventDefault()停止表单提交,但在使用jQuery 1.8.2的IE8中不起作用 $(document).ready(function () { $("form").submit(function (e) { e.preventDefault(); $.ajax({ .......... }); }); }); 试试这个代码 if(e.preventDefault) e.pre
e.preventDefault()
停止表单提交,但在使用jQuery 1.8.2的IE8中不起作用
$(document).ready(function () {
$("form").submit(function (e) {
e.preventDefault();
$.ajax({
..........
});
});
});
试试这个代码
if(e.preventDefault) e.preventDefault(); else e.returnValue = false;
因为IE的某些版本不支持e.preventDefault()。在IE中,它是e.returnValue=false您可以尝试:
// Disabling submit action for the #myForm form
$('#myForm').bind("submit", function(event){
event.preventDefault();
});
实时演示:在jQuery中实现这一点的最佳方法就是
返回false代码>位于回调的末尾
比如:
什么是返回错误?
调用时返回false执行三个任务:
- event.preventDefault()李>
- event.stopPropagation()李>
- 停止回调执行并在调用时立即返回
使用
e.returnValue = false;
而不是
e.preventDefault();
哪个版本的IE?请指定:哪个版本的IE?jQuery的哪个版本?“不工作”的症状是什么?浏览器控制台中是否有错误?您已经做了什么来尝试修复它?@Spudley表单正在提交,仅在IE中没有阻止。请尝试1.8.3,因为1.8.2是不公开的,除非您复制它。两者都正常化了,但1.8.2jQuery中可能有一个bug,它正常化了preventDefault()
方法,它适用于IE.@undefined当我第一次遇到这个问题时,上面的代码帮助了我。此后,我从未忘记在代码中添加此部分。;)用jQuery工作,就像他看起来正在做的那样,这是不需要的。似乎很奇怪,因为1.8.2和1.8.3已经规范化了代码:jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return;}//如果存在preventDefault,则在原始事件上运行它,如果(e.preventDefault){e.preventDefault();//否则,将原始事件的returnValue属性设置为false(IE)},否则{e.returnValue=false;}},谢谢。这与我选择的答案类似。但这一个更好一点。适用于XP上的IE8
e.preventDefault();