2010-11-30 58 views
11

我有一個簡單的表格:如何用GET方法阻止表單發送提交按鈕的值?

<form action="/search" method="get"> 
    <input type="text" name="q" value=""> 
    <input type="submit" name="search" value="search"> 
</form> 

在提交網址將成爲`/search?q=Loremipsum&search=search

我真的不希望最後一點,這似乎是很常見的問題,並認爲這可能沒有得到解決js,但我意識到,即使google.com在您點擊搜索按鈕時也有這個問題。 (也許他們不那麼在意醜陋的網址?)

search?hl=en&source=hp&q=Loremipsum&btnG=Google+Search&aq=f&..

有沒有一種辦法,以防止被排除在外不支持JavaScript的提交按鈕的價值?

我在堆棧溢出中看到搜索是?q=但他們沒有提交按鈕。

回答

26

您可以在這樣最終的輸入忽略name屬性:

<form action="/search" method="get"> 
    <input type="text" name="q" value=""> 
    <input type="submit" value="search"> 
</form> 

應該做的伎倆。保持value屬性允許您操作按鈕上顯示的文本。

+0

這不再起作用,至少在Chrome中。是否有更新的解決方案? – 2018-01-12 02:00:12

3

對於記錄,如果您願意,也可以省略提交按鈕,並且在鍵入搜索詞後按回車時提交表單。 (這是堆棧溢出搜索框的工作原理)。