2012-09-07 75 views
0

我剛剛注意到一些奇怪的行爲鉻。在我的網站上有一個頁面,它具有一個表單,可以將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:陣列([我的元件] =>布拉布拉)

GET:陣列()

然而,當我用ctrl +點擊我看到這個新標籤:

POST:陣列()

GET:陣列()

所以我的問題是,這是正常的行爲,或Chrome中的錯誤(我的版本是21.0.1180.83米)?無論如何,爲防止這種情況發生,所以我不必向用戶顯示某種錯誤頁面,將他重定向回來,並要求不要在新選項卡中打開提交表單(UGLY!)

回答