如何获得未选中的复选框?

时间:2009-11-08 19:25:40

标签: php arrays post checkbox

我有三个复选框,如ch [0],ch [1]和ch [3](有时我有更多或更少,它是dinamic),在PHP中我想获得未选择的项目,如下所示:0 =是,1 =否,3 =是等等。

我能以某种方式解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

一种常见的方法是在复选框旁边放置一个隐藏的表单字段,然后通过javascript设置复选框更改时的值。

编辑:你不需要javascript。但是,如果您没有必要知道,在发布到的页面上,隐藏字段是一种方法,请求页面上有多少个复选框。查看:http://www.felgall.com/xtutf06a.htm

答案 1 :(得分:1)

Unselected checkboxes are not being submitted.因此,您只能通过确定所有可用复选框的集合减去所选复选框来确定未选中的复选框。

答案 2 :(得分:1)

如果您在服务器端同时拥有完整列表和所选列表,为什么还需要未选择的列表?只需通过过滤所选的那些,从完整列表中提取未选择的那些。

答案 3 :(得分:0)

您可以在HTML上执行此操作:

<input type="hidden" name="ch[0]" value="no">
<input type="checkbox" name="ch[0]" value="yes">
...
<input type="hidden" name="ch[5]" value="no">
<input type="checkbox" name="ch[5]" value="yes">

并在PHP上按常规方式检查:

<?php
  $ch = $_REQUEST['ch'];
  //then use $ch[0], $ch[1], ..
?>