php - 使用 $_GET 将多个具有相同名称的 html 复选框添加到 URL

标签 php html forms url

我的网站有一个搜索表单。搜索表单包括一个类别部分,用户可以在其中选择不同类别的项目,所有这些都是复选框。它们都具有相同的名称,因此我可以使用一些 javascript 来全选和全选。我需要使用 php $_GET 以便我可以向 url 添加参数,以便我可以返回到用户最初搜索的条件。

html:

<input name="catID[]" id="catID_10" type="checkbox" value="10" />
<input name="catID[]" id="catID_11" type="checkbox" value="11" />
<input name="catID[]" id="catID_12" type="checkbox" value="12" />
...

from提交后的url,实际中括号转化为html字符串形式,格式如"catID%5B%5D=10&catID%5B%5D=11&catID%5B%5D=12"

所以我想知道,是否有一些我可以执行的 javascript,一旦提交表单以更改每个复选框的名称,以便它在 url 中正确格式化,但不会弄乱其他全选/全选功能?

最佳答案

对于 URL 中的 php 样式数组来说,这是完全正常的。你会发现如果你执行 print_r($_GET),你会得到类似的东西:

array(
   'catID' => array(
       0 => 10,
       1 => 11,
       2 => 12
   )
   'otherparameter' => 'value'
)

并且可以通过简单的方式获取各个复选框的值

if (is_array($_GET['catID'])) {
     foreach($_GET['catID'] as $catID) {
        ...
     }
}

关于php - 使用 $_GET 将多个具有相同名称的 html 复选框添加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7982235/

相关文章:

php - 使用 PHP/MySQL 检查过去 24 小时内是否插入了 MySQL 行?

javascript - 如何从 JQuery 中的表行中提取 PHP 值以供稍后使用?

html - 为什么 Bootstrap 中的 .row 和 .container-fluid 会发生这种情况?

iphone - iPhone 视频流媒体网站的问题

javascript - Krajee 文件输入仅上传最后选择的图像

php - 根据表单输入更改 SQL "Where"子句

php - base64 字符串中的 IOS Swift UIImage 到 PHP

javascript - htaccess 文件 - 将 url 中两个以上单词的下划线更改为连字符

html - 如何在标签/ TextView 中为动态字符串创建可点击链接

javascript - onsubmit 方法不会停止提交