使用$('#myForm')时如何让Chrome工作.admin()后跟window.location.href =

时间:2017-01-09 08:54:36

标签: javascript google-chrome

在IE和FireFox中,当我运行它时:

$('#editForm').submit();

window.location.href = "my url here";

有效。在Chrome中,这两行都可以自行运行,但将它们一起运行意味着表单未提交。甚至将提交调用粘贴在If语句中,并且在此If语句成功时调用重定向意味着它在不提交的情况下重定向。

1 个答案:

答案 0 :(得分:1)

您可以像这样重写它:

$('#editForm').submit(function(){
    window.open('url', 'myWindow', 'target=_blank');
});
恕我直言,更优雅的解决方案是:

$('#editForm').submit(function(e){
    // Prevent the form from actually submiting
    e.preventDefault();
    // Code to AJAX submit (and Validate) the form goes here
    DoSomethingAjax();
    // Open a new window
    window.open('url', 'myWindow', 'target=_blank');

});

第一个CodePen http://codepen.io/anon/pen/xgwqrE

<强> P.S

如果您只想重定向,那么干净而优雅的解决方案是在成功提交表单后使用后端代码重定向。