gpt4 book ai didi

javascript - 重新排序提交网址上的表单字段

转载 作者:行者123 更新时间:2023-11-28 02:09:31 25 4
gpt4 key购买 nike

我有一个带有几个可见和隐藏输入字段的获取表单。提交表单后,选定的字段及其值将按照它们在表单中的放置顺序附加到 url。有没有办法使用 jQuery 重新排序 url 中的参数?请注意,出于可用性原因,我无法对表单本身上的元素重新排序。

我知道这引出了一个问题“我为什么要这样做?”,但原因是我将访问静态页面,因此参数的顺序必须与静态页面中的顺序完全相同网址。例如,我的表单返回一个网址:

http://someurl?names=comm&search=all&type=list

静态页面有一个url:

http://someurl?search=all&type=list&names=comm

简化的表单示例如下:

<form  id="search_form" method="get" action="http://www.cbif.gc.ca/pls/pp/ppack.jump" >

<h2>Choose which names you want to be displayed</h2>
<select name="names">
<option value="comm">Common names</option>
<option value="sci">Scientific names</option>
</select>

<h2>Choose how you want to view the results</h2>

<input type="radio" name="search" value="all" id="complete" checked = "checked" />
<label for="complete" id="completeLabel">Complete list</label>
<br/>

<input type="radio" name="p_null" value="house" id="house" />
<label for="house" id="houseLabel">House plants only</label>
<br/>

<input type="radio" name="p_null" value="illust" id="illustrat" />
<label for="illustrat" id="illustratLabel">Plants with Illustrations</label>
<br/>


<input type="hidden" name="type" value="list" />

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

我可以使用 $(#search_form).serializeArray() 获取带有值的表单字段,并像我想要的那样处理数组,但我不知道如何将其设置回来,即修改序列化值,以便提交url 有我的参数顺序。我什至不确定这是否是正确的方法,因此任何指示将不胜感激。

最佳答案

一种快速方法可能是在按下提交按钮后重新排序实际的表单元素,同时隐藏表单,以便用户看不到它。

另一种方法可能是让所有可见的表单元素没有名称,并在提交时将所有数据按照您喜欢的顺序传输到隐藏的输入字段。

但在这种情况下,由于数据非常简单(无需进行转义),您也可以在每次某些表单元素发生更改时将所需的 URL 编写为字符串,并将其作为提交按钮的 href ,这样您并没有真正提交,而只是点击链接。

关于javascript - 重新排序提交网址上的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17308291/

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