我有一个包含许多复选框的表单。
离。
...
<input name="dodatkowe[]" type="checkbox" value="1" />
<input name="dodatkowe[]" type="checkbox" value="1" />
<input name="dodatkowe[]" type="checkbox" value="1" />
...
我想拥有数组中的所有复选框。数组'dodatkowe'。
当我选中所有复选框时:
Array ( [0] => 1 [1] => 1 [2] => 1 )
但是当我第二次检查示例时,我有:
Array ( [0] => 1 )
我需要那个,当我查看第二个复选框时:
Array ( [0] => 0 [1] => 1 [2] => 0)
答案 0 :(得分:3)
给他们索引,以便你可以专门引用它们......
...
<input name="dodatkowe[1]" type="checkbox" value="1" />
<input name="dodatkowe[2]" type="checkbox" value="1" />
<input name="dodatkowe[3]" type="checkbox" value="1" />
...
不确定为什么你觉得你需要看到未经检查的值,这可以假设为已检查值的反转....任何尝试这样做都是黑客攻击,而且是不必要的。
答案 1 :(得分:2)
如果未选中复选框,则不会将其值包含在参数中,但第一步是给复选框一个唯一的ID:
<input name="dodatkowe[0]" type="checkbox" value="1" />
<input name="dodatkowe[1]" type="checkbox" value="1" />
<input name="dodatkowe[2]" type="checkbox" value="1" />
然后您可以使用PHP来检查值是否存在:
$maxfields = 3;
$selectboxes = $_REQUEST['dodatkowe'];
for($i = 0; $i < $maxfields; $i++)
if(!isset($selectboxes[$i])) $selectboxes[$i] = 0;
这会将所有不存在的字段设置为0,而$selectboxes
应包含您要查找的结果。