chrome开头表单在新标签中提交没有数据

时间:2012-09-07 10:57:57

标签: forms google-chrome tabs submit

我刚注意到Chrome的一些奇怪行为。在我的网站上有一个页面,其中包含一个表单,该表单对站点的安全部分进行POST。但是,如果我使用ctrl +左键单击(在提交按钮上)在Chrome中提交表单,则会打开一个新窗口(如预期的那样),但请求是GET请求而不是GET请求,并且不会发送任何表单数据。我试图通过一个简单的形式制作测试页来排除所有其他事情:

<form method="post" action='https://secure.mysite.com/formtest2.php' target='_top'>
  <input type='text' name='element' value='blabla' />
  <input type='submit' value='submit' />
</form>

和接收页面:

<?php
 print "POST:";
 print_r($_POST);
 print "<br/>GET:";
 print_r($_GET);
?>

当我点击提交按钮(在Chrome中)时,一切都按预期工作,我得到:

POST:Array([my-element] =&gt; blabla)

GET:Array()

但是,当我使用ctrl + click时,我会在新标签中看到:

POST:Array()

GET:Array()

所以我的问题是,这是正常行为还是Chrome中的错误(我的版本是21.0.1180.83米)?反正是为了防止这种情况发生,所以我不必向用户显示某种错误页面,将其重定向回来,并要求不要在新标签中打开表单的提交(UGLY!)

1 个答案:

答案 0 :(得分:1)