2011-05-09 35 views
2

我在网页上测试了以下javascript代码。表单提交后的javascript代码

<form method=POST id="someform" action="http://localhost/somepage.php" > 
<input type=hidden name=stuff value="value"> 
</form> 

<script> 
document.forms['someform'].submit(); 
window.location="http://google.com"; 
</script> 

提交表单后窗口成功重定向到谷歌。我不明白为什么。控件是不是转移到了somepage.php?为什么window.location ...仍然执行。

+0

你怎么知道它提交?这就是我的代码看起来像和表单不提交。我在信用卡领域输入了不正确的信息,并在提交时出错,但它重定向到我有'window.location'指向的页面。 – jlg 2012-10-12 16:31:13

+0

如果你检查你的调试工具,你可能会看到浏览器提出了两个请求。一个POST或GET(使用表单的功能)和一个GET(使用JavaScript的“重定向”)。我真的不知道浏览器如何决定要提供什么请求。 – Victor 2014-08-14 20:38:53

回答

2

所调用的所有内容都在页面没有消失时执行。调用submit()不会阻止执行,它会立即返回。