如何将复选框 POST 关闭,例如当它没有被选中时,因为复选框仅在它被选中并且我不想使用隐藏变量时才提交值
谢谢
简短的回答是浏览器不会发送未选中的复选框。但是一种可能的解决方法是在 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);
}