【问题标题】:Why is the submit button value passed when using the GET method in HTML?为什么在 HTML 中使用 GET 方法时会传递提交按钮的值?
【发布时间】:2012-11-21 05:24:26
【问题描述】:

我在我的网站上的表单中使用“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

【问题讨论】:

    标签: html get request


    【解决方案1】:

    这是应该发生的。如果您不想这样,请不要在按钮上定义 name 属性。您可能希望 value 改为向用户显示按钮的用途。

    另外,这个问题与PHP无关;它纯粹是关于 HTML 语义。

    【讨论】:

      【解决方案2】:

      原因是name 属性在用于表单提交时使提交按钮成为“successful control”(在HTML 4.01 术语中)。这会导致其中的 name=value 对包含在表单数据中。

      请注意,在您的情况下,此数据是 name=foo 其中 foo 是按钮的浏览器相关默认值。可能是submit,也可能是Lähetä kysely,或者是一些奇特的东西。您可以并且通常应该使用value 属性来设置此值,因为它决定了按钮中显示的文本。通常不希望在您的英语语言上出现提交按钮,例如一些日文文本只是因为正在使用日文浏览器。

      正如其他人所写,解决方案(如果这是一个问题)是删除name 属性。但是由于通常应该使用value 属性,您可以通过将属性名称name 替换为名称value 同时进行两项更改,尽管您也可以将显示的单词大写:

      <input type="submit" value="Submit">
      

      【讨论】:

        【解决方案3】:

        尝试从提交输入中移除名称属性

        【讨论】:

          【解决方案4】:

          移除按钮的名称属性.....

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-22
            • 2014-12-02
            • 2012-02-18
            • 2015-07-11
            • 2020-03-27
            • 2019-08-25
            • 2013-06-28
            • 2011-01-26
            相关资源
            最近更新 更多