微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

当我尝试以下结构时,它不会发送id = value
<form action="some.PHP?id=value" method="get">
   <input name="name1" value="value1">
   <input type="submit">
</form>

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

解决方法

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

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

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

更新

啊啊:

之前有人问过:
submitting a GET form with query string params and hidden params disappear

去引用:

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

If the method is “get” and the action is an HTTP URI,the user agent takes the value of action,appends a `?’ to it,then appends the form data set,encoded using the “application/x-www-form-urlencoded” content type.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐