2010-11-30 74 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

对于记录,如果您愿意,也可以省略提交按钮,并且在键入搜索词后按回车时提交表单。 (这是堆栈溢出搜索框的工作原理)。