HTML表单:为什么行动无法获得价值?

Sim*_*mon 5 html forms

当我尝试以下结构时,它不会发送 id=value

<form action="some.php?id=value" method="get">
   <input name="name1" value="value1">
   <input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我知道我可以发送id=value隐藏的字段,但它很有趣,为什么它不允许这样的结构?

sea*_*boy 5

这是因为表单的"method = get"部分意味着查询值必须来自表单值.

包含"id = value"的集合将被包含表单值的集合覆盖.

这种行为似乎内置于每个浏览器中,因此我希望它是HTML规范的一部分.

更新

啊啊:

之前已经提到过: 提交带有查询字符串参数的GET表单,隐藏的参数消失

报价:

正如规范(RFC1866,第46页; HTML 4.x第17.13.3节)所述:

如果方法是"get"并且操作是HTTP URI,则用户代理获取action的值,附加"?" 然后,添加使用"application/x-www-form-urlencoded"内容类型编码的表单数据集.