如何将复选框关闭为关闭,例如未选中复选框时,仅在选中后才提交值并且我不想使用隐藏变量
由于
答案 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);
}