带有 GET 和额外参数的 HTML 表单提交
Posted
技术标签:
【中文标题】带有 GET 和额外参数的 HTML 表单提交【英文标题】:HTML Form submission with GET and extra arguments 【发布时间】:2012-03-04 20:51:50 【问题描述】:这是我的情况,我有一个页面,上面有一个表格。表单只是一个查询,所以我使用“GET”方法。我有一个作为令牌传递的变量,该变量的格式为“x = 2&y = 5”,因为该变量作为编码的url传递到我的页面中,将其解析为字典只是额外的工作'x':2,'y':5。理想的情况如下:
<form method="GET" action="/path/to/action/?x=2&y=5">
<input type="text" name="some_other_val">
... more inputs here etc.
</form>
不幸的是,当我这样做时,浏览器会删除结尾的 x=2&y=5 并且只是将表单字段作为参数附加。我不只是使用<input type="hidden" name="x" value="2">
的原因是因为就像我说的字符串已经是那种形式,我需要专门对其进行解码。将值添加到操作 url 的末尾更简单。任何建议将不胜感激。请注意,我在这里找到了一个非常相似的主题adding URL parameters to a form php html,但所提出的解决方案都没有解决我的基本问题。我还尝试了在末尾附加“&”的提示,但它也不起作用!有没有可能做我想做的事?
【问题讨论】:
如果您让我们知道您使用什么语言呈现页面,我们或许可以建议一个函数来帮助您进行所需的 URL 解析。 我在 python 2.7 上使用 python django 1.3。 查看urlparse模块中的parse_qs函数:docs.python.org/library/urlparse.html#urlparse.parse_qs 谢谢!这正是我所需要的! 【参考方案1】:您应该使用隐藏的表单元素作为您所描述的额外参数:
<input type="hidden" id="x" value="2" />
<input type="hidden" id="y" value="5" />
这可确保在使用 GET
时参数将正确显示在 URL 上,而不是被删除。
我不太明白你反对它们的论点,好像你可以将它们附加到表单操作中,你应该能够轻松地将其更改为 hidden
表单元素。
【讨论】:
它对我不起作用(Django 1.8)。我必须使用name
,而不是id
才能使其工作:<input type="hidden" name="x" value="2" />
以上是关于带有 GET 和额外参数的 HTML 表单提交的主要内容,如果未能解决你的问题,请参考以下文章
html中post必须要用form表单,而get就可以不用form表单就可以提交了吗?