我在我的网站上使用表格中的“GET”方法。由于某种原因,它将提交按钮的值传递给URL。为什么会这样?我做错了什么?
形式:
<form method="GET" action="searcht1.php">
<input type="text" name="search"/>
<input type="submit" name="submit">
</form>
地址:
searcht1.php?search=colin+pacelli&submit=Submit
答案 0 :(得分:6)
它应该发生。如果您不想这样做,请不要在按钮上定义name
属性。您可能需要value
来向用户显示该按钮的用途。
此外,这个问题与PHP无关;它纯粹是关于HTML语义。
答案 1 :(得分:3)
原因是name
属性在用于表单提交时使提交按钮成为“successful control”(在HTML 4.01术语中)。这会导致其中的name = value对包含在表单数据中。
请注意,在您的情况下,此数据为name=
foo ,其中 foo 是与按钮相关的浏览器默认值。它可以是submit
,也可以是Lähetä kysely
,也可以是异国情调。您可以(通常应该)使用value
属性来设置此值,因为它确定了按钮中显示的文本。通常不希望在您的英语语言上显示提交按钮,例如日语中的一些文本只是因为正在使用日语浏览器。
正如其他人所写,解决方案(如果这是一个问题)是删除name
属性。但由于通常应使用value
属性,因此您只需将名称name
替换为属性名value
即可同时进行两项更改,但您也可以将显示的单词大写:< / p>
<input type="submit" value="Submit">
答案 2 :(得分:2)
尝试从提交输入中删除名称属性
答案 3 :(得分:1)
删除按钮的名称属性.....