未选中复选框时发布复选框值

时间:2013-05-26 04:07:54

标签: php html post checkbox

如何将复选框关闭为关闭,例如未选中复选框时,仅在选中后才提交值并且我不想使用隐藏变量

由于

1 个答案:

答案 0 :(得分:1)

简短的回答是浏览器不会发送未选中的复选框。但一个可能的解决方法是在php端设置默认数组

因此对于包含

等字段的表单
<input type='checkbox' name='checkbox[a]' value='1'/>
<input type='checkbox' name='checkbox[b]' value='1'/>
<input type='checkbox' name='checkbox[c]' value='1'/>
你会说

$checkbox_defaults = array(
   "a" => 0,
   "b" => 0,
   "c" => 0
);

然后在PHP上说

$_POST["checkbox"] = array_merge($checkbox_defaults, $_POST["checkbox"]);

注意这仅适用于字符串索引数组...如果您需要使用数字索引数组,那么php应该是这样的。

$checkbox_defaults = array(
   0 => 0,
   1 => 0,
   2 => 0
);
foreach($checkbox_defaults as $k=>$v){
    $_POST["checkbox"][$k] = (isset($_POST["checkbox"][$k])?
                             $_POST["checkbox"][$k]:$v);
}