gpt4 book ai didi

php - 动态设置多个复选框的技术,混合 javascript 和 php 表单

转载 作者:行者123 更新时间:2023-12-02 20:48:14 24 4
gpt4 key购买 nike

我是 javascript 新手,我的问题是有效的:我有一个 php 页面,它生成一个包含多个进程 block 或部分的表单,每个进程 block 或部分都有一组复选框

例如

<form action='./this.php' method='POST'>
One<br>
<input type='checkbox' name='one[part1]'>a<br>
<input type='checkbox' name='one[part2]'>b<br>
<input type='checkbox' name='one[part3]'>c<br>

<input type='checkbox' name='one[all]'>all<br>
<br>
Two<br>
<input type='checkbox' name='two[part1]'>a<br>
<input type='checkbox' name='two[part2]'>b<br>
<input type='checkbox' name='two[part3]'>c<br>

<input type='checkbox' name='two[all]'>all<br>

<input type='submit'>
</form>

示例问题:我希望能够单击“two[all]”复选框并选中“two[part1]”、“two[part2]”和“two[part3]”。

如果我将组中的所有复选框命名为相同,则 php post 值将仅显示一个,因此我需要保持名称不同。

是否有任何简单的方法可以做到这一点,除了动态(通过 php)为每个部分生成单独的 onclick 函数之外。

请注意,并非所有部分都相同,有时 one.part1 可能无法检查,但会显示其信息,并且复选框名称将从 b 开始。

或者可能遍历 DOM 以查找开始标记之后和全选之前的所有复选框。

希望这足够清楚。

最佳答案

将表单更改为更像:

<input type='checkbox' name='section[one][]' value='part1'>a<br>
<input type='checkbox' name='section[one][]' value='part2'>b<br>
<input type='checkbox' name='section[one][]' value='part3'>c<br>

<input type='checkbox' name='one[all]' onclick='checkAll(one,this)>all<br>

CheckAll 函数是:

function checkAll(checkid, exby) {
boxes = document.getElementsByName('section[' + checkid + '][]');
for (i = 0; i < boxes.length; i++){
boxes[i].checked = exby.checked? true:false
}
}

这最终仍然在 php post var 中提供可管理的数组,同时具有单一名称。

关于php - 动态设置多个复选框的技术,混合 javascript 和 php 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544187/

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