我有一个表单,它将在提交数据之前执行一些验证,因此我将此验证绑定在提交按钮的单击事件中。
$('#myButton').click(function(e){
e.preventDefault();
e.returnValue = false;
//perform validations...
if(valid) {
$('#theForm').submit();
}
});
到目前为止没有什么神奇的。如果服务器端一切正常,页面将返回 302 http 状态代码。
在 Firefox 和 Chrome 中,网址已成功重定向,但在 Internet Explorer 8(未在其他版本中测试)中,这会导致浏览器重定向到同一网址。
如果我删除 JavaScript 代码,IE 重定向是正确的。
所以,我的问题是,JQuery的submit()
与普通的html提交有什么不同?
我不确定有什么区别,但你应该能够直接触发表单的提交事件,有效地绕过jQuery的提交事件处理。
$("#theform")[0].submit();
如果发生同样的事情,那么问题不在于jQuery,而很可能是跨浏览器的问题。