HTML表单,取消选中输入

时间:2011-04-18 05:59:16

标签: php html forms post checkbox

嗨,我有一个像这样的表格

<form method=post action="control.php">
<input name="cat[]" type="checkbox" value="blabla" checked>blabla
<input name="cat[]" type="checkbox" value="bleble" checked>bleble
.
.
.
<input name="send" type="submit" id="send" value="send">
</form>
在control.php中

,当我使用$ _POST [cat]时,我想要取消选中框。我怎样才能做到这一点?谢谢你的帮助...

2 个答案:

答案 0 :(得分:2)

您无法获得未选中的复选框,只能获取已选中复选框。

如果您需要未选中的复选框,则必须查看复选框并找出未选中的复选框。

答案 1 :(得分:2)

可以使用foreach从数组中轻松生成复选框组(cat[])。

$cat=array(
  'blabla' => 'blabla',
  'bleble' => 'bleble',
  ...
);

<? foreach ($cat as $k=>$v) : ?>
  <input name="cat[]" type="checkbox" value="<?=$k?>" checked /><?=$v?>
<? endforeach; ?>

如果你有一个包含所有可能复选框的数组,很容易将它与所选复选框的POSTed数组进行比较,并找出哪些复选框没有。

您可以使用array_diff

$unchecked=array_diff(array_keys($cat), $_POST['cat']);