2012-11-21 39 views
1

我在我的網站上使用了「GET」方法。出於某種原因,它將提交按鈕的值傳遞給url。這是爲什麼發生?我究竟做錯了什麼?爲什麼在HTML中使用GET方法時傳遞的提交按鈕值?

形式:

<form method="GET" action="searcht1.php"> 
    <input type="text" name="search"/> 
    <input type="submit" name="submit"> 
</form> 

網址:

searcht1.php?search=colin+pacelli&submit=Submit 

回答

6

它應該發生的。如果你不想這樣做,不要在按鈕上定義name屬性。您可能需要value來向用戶顯示該按鈕的用途。

此外,這個問題與PHP無關;它純粹是關於HTML語義。

2

嘗試刪除名稱屬性從提交輸入

1

刪除按鈕的名稱屬性.....

3

的原因是name屬性使得提交按鈕「successful control」(在HTML 4.01術語)當它用於表單提交。這會導致來自它的名稱=值對包含在表單數據中。

注意,在你的情況,這個數據是name=其中是按鈕的瀏覽器相關的默認值。它可能是submit,或者它可能是Lähetä kysely,或者異國情調。您可以並且通常應該使用value屬性來設置此值,因爲它確定按鈕中顯示的文本。通常不希望在你的英語上出現一個提交按鈕,例如,一些使用日文瀏覽器的日文文本。

正如其他人所寫,解決方案(如果這是一個問題)是刪除name屬性。但由於value屬性應該正常使用,你可以同時只是名稱替換value屬性名稱name做出兩處修改,不過你也可以利用顯示的單詞:

<input type="submit" value="Submit"> 
相關問題