gpt4 book ai didi

forms - 带有 ?key=val 查询字符串已经在 action 属性中的表单提交会忽略该查询字符串

转载 作者:行者123 更新时间:2023-12-04 03:39:53 26 4
gpt4 key购买 nike

所以我试图在保留页面的当前查询字符串的同时向自身提交一个页面。

所以页面是sb.local/sb/cat.php?brandcode=JM&t=cat_items我拉下查询字符串并将其粘贴回 html 表单以保留参数。这是结果形式:

<form id="brand-select" method="get" action="?brandcode=JM&t=cat_items" name="brand-select">
Brand:
<select id="brandcode" style="width:207px" tabindex="3" name="brandcode" required="">
<option value=""></option>
<option class="brand-option" value="AX" data-brandid="110"> Aetrex </option>
<option class="brand-option" value="AL" data-brandid="12"> Alden </option>
<option class="brand-option" value="ETC" data-brandid="11"> Etc </option>
</select>
<input type="submit" value="go">
</form>

但是,当我通过选择 Aetrex(值 AX)的下拉列表来提交表单时,它会转到以下网址:
sb.local/sb/cat.php?brandcode=AX换句话说,它删除了 Action 中的“t=cat_items”。它还删除了“brandcode=JM”,但我几乎可以预料到,因为它们是重复的。

这不是我所期望的,我希望如果 action 属性中有一个查询字符串,它会将表单值附加到该查询字符串(例如 sb.local/sb/cat.php?brandcode=JM&t=cat_items&brandcode=AX 。相反,它似乎只用那些元素完全替换了查询字符串在表格中。

表单操作属性是否不能用于存储查询参数,只能用于存储更基本的 url 信息?

编辑:请注意,我可以通过解析每个参数然后手动将每个参数放入其自己的隐藏字段来解决此问题,除了我希望允许更改的任何参数之外,我只是希望有某种更简单的方法。
我用一个不冲突的查询字符串进行了测试,即使没有冲突(在 Firefox 中),它也被整个替换了,因此基于这一点,查询字符串在 get 表单的 action 属性中似乎是无用的?或者我错过了什么。

最佳答案

我知道这是一个老问题,但解决方案实际上非常简单(而且整洁!)。

您所要做的就是以 name="key" 格式发送带有隐藏输入字段的查询字符串。和 value="value" .

?brandcode=JM&t=cat_items 将“翻译”为:

<input type="hidden" name="brandcode" value="JM" />
<input type="hidden" name="t" value="cat_items" />

从您的 action 中完全删除查询字符串.

关于forms - 带有 ?key=val 查询字符串已经在 action 属性中的表单提交会忽略该查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com