Documents Original Xerox
-------------------------------------------------
ABC <checkbox> <checkbox>
DEF <checkbox> <checkbox>
XYZ <checkbox> <checkbox>
我有一个复选框结构,如上所示。 但我不确定,我怎么想实施它。 我知道正常复选框的工作,因为它只有一个复选框。 但在这种情况下,对于每个文档,都有2个复选框(原始副本和 xerox 副本)
我想到的是,在点击提交后,我需要以某种方式获得如下表单中的数组
ABC -> [1][1]
DEF -> [0][1]
XYZ -> [1][0]
第一个[]
是原始,第二个[]
是 xerox 。
其中1
表示已选中,0
表示未选中。
我不知道应该如何实现它。 这是我的代码......(这可能是非常错误的,我同意..但我仍然尝试过......但是无法弄明白。)
<table>
<tr>
<td>Aadhar</td>
<td><input type="checkbox" name="document[]" value="1"/></td>
</tr>
<tr>
<td>Pan Card</td>
<td><input type="checkbox" name="document[]" value="1"/></td>
</tr>
<tr>
<td>Address</td>
<td><input type="checkbox" name="document[]" value="1"/></td>
</tr>
<tr>
<td>Light Bill</td>
<td><input type="checkbox" name="document[]" value="1"/></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
PHP
$documents = $_POST['document'];
$a = implode($documents);
echo $a;
到目前为止,我正确地获得了1
(值)..但我还需要document
(键){&#39; 1
&#39;(价值)属于。
任何人都可以帮帮我。
答案 0 :(得分:0)
Checkboxes only submit WHEN CHECKED,所以你永远不会得到一个提交“0”值的复选框。
也就是说,您可以通过简单地询问PHP是否已设置来检查它,如下所示:isset($_POST['document']['aadhar'][1])
- 如果返回true,则检查它,如果没有,则不检查。
有一点需要注意:您将要为数组的第二维指定索引,所以:
<td><input type="checkbox" name="document[aadhar][]" value="1"/></td>
成为这个:
<td><input type="checkbox" name="document[aadhar][original]" value="1"/></td>
通过询问isset()
,您可以跟踪选中了哪个复选框的“列”。
以下是一个工作示例:http://myingling.com/random/random/44476276/
以下是该示例中的HTML:
<form action='post.php' method='post'>
<table>
<tr>
<td>Aadhar</td>
<td><input type="checkbox" name="document[aadhar][col1]" value="1"/></td>
<td><input type="checkbox" name="document[aadhar][col2]" value="1"/></td>
</tr>
<tr>
<td>Address</td>
<td><input type="checkbox" name="document[light][col1]" value="1"/></td>
<td><input type="checkbox" name="document[light][col2]" value="1"/></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
以下是post.php
:
<?php
echo "<pre>";
var_dump($_POST);
echo "</pre>";