php – HTML使用GET进行多选

注意 :

这有点难以谷歌,因为“GET”带来了很多“如何’获取javascript形式的价值”,等等.

问题:

TL; DR版本第一

您是否可以使用表单的GET方法进行多选,并仍然检索每个单独的值?

扩展说明

我正在构建的可搜索目录的要求包括将GET方法与表单一起使用,以便用户可以在URL中查看其结果,并将搜索结果的直接链接发送给其他客户等.

其中一个搜索字段是多选框(具有MULTIPLE属性的选择框).我的后端是用PHP编写的,我通常通过将名称设置为数组变量(name =“multiselect []”)来处理多选,并且post变量包含所选选项的数组($_POST [“multiselect” “] == array()).

这种情况下的问题是多选值传递给get字符串,如下所示:

action?multiselect=1&multiselect=2

因此无论最后一个值是什么,都会替换get字符串中变量的第一个初始化值. (在上面的例子中,multiselect等于“2”).

试图使名称成为一个数组只是以相同的方式替换数组值,就像这样

action?multiselect[]=1&multiselect[]=2

会导致$_GET [“multiselect”] == 2

我原本建议使用复选框,因为它允许我们以不同的方式命名元素并检查每个元素的真/假,但是这个特定的多选择有大约30个值,并且他们希望它在滚动中可用区域.

解决方法:

适合我.刚试过

http://www.nearby.org.uk/tmp/multi-test.html

<select name="multiselect[]" ...

结果在URL中
?多选[] = 2及多选[] = 3

这将使$_GET [‘multiselect’]成为PHP中的一个数组.

也许你的系统中有其他东西,剥离[]?

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...