我有一个包含许多复选框的表单。复选框数组只显示选中的值 - PHP
ex。我想要所有的数组中的所有复选框。阵列'dodatkowe'。
,当我检查所有复选框有:
Array ([0] => 1 [1] => 1 [2] => 1)
,但是当我检查例如仅次于我的:
Array ([0] => 1)
我需要的是,当我检查例如第二个复选框:
Array ([0] => 0 [1] => 1 [2] => 0)
我有一个包含许多复选框的表单。复选框数组只显示选中的值 - PHP
ex。我想要所有的数组中的所有复选框。阵列'dodatkowe'。
,当我检查所有复选框有:
Array ([0] => 1 [1] => 1 [2] => 1)
,但是当我检查例如仅次于我的:
Array ([0] => 1)
我需要的是,当我检查例如第二个复选框:
Array ([0] => 0 [1] => 1 [2] => 0)
给他们的索引,所以你可以具体参考他们...
...
<input name="dodatkowe[1]" type="checkbox" value="1" />
<input name="dodatkowe[2]" type="checkbox" value="1" />
<input name="dodatkowe[3]" type="checkbox" value="1" />
...
不知道为什么你觉得你需要看到选中的值,这可以被认为是检查的值的倒数....任何试图做,这是一个黑客,并且是不必要的。
可能,每个前面都有一个:''(改变'dodatkowe ['当然是相应的]之后的数字) – Wrikken 2012-01-11 21:25:35
如果复选框未选中,将不包括它的价值传入的参数,但第一步是给复选框一个唯一的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
应该包含你正在寻找的结果。
不确定我喜欢或者会推荐)直接修改'$ _REQUEST' ...可能会引起混淆,取决于您需要对提交的值进行哪些进一步处理。 – jondavidjohn 2012-01-11 21:31:16
正确...您可能需要考虑在之前将其复制到另一个变量。 .. – bardiir 2012-01-11 21:32:42
浏览器只提交选中的复选框,所以你永远不会看到未选中的复选框的值。 – Neil 2012-01-11 21:27:21