在我的HTML中,我有这个,
<tr>
<td class="grid_cell" width="5%">
<input type="checkbox" name="workspace_trees_rpt_target" id="<?php echo $t["tree_id"];?>" value="<?php echo $t["tree_id"];?>" />
</td>
</tr>
这是在一个循环中所以将显示的是许多具有不同值的复选框。在我的剧本中,我有这个,
if(confirm("Delete cannot be undone, click OK button to proceed.")) {
document.forms[0].method="POST";
document.forms[0].action="delete.php";
document.forms[0].submit();
}
选中其中两个复选框并单击“确定”按钮后,我会转到delete.php
以print_r
我的帖子数据。但是当显示print_r
的结果时,它只显示已选中复选框的一个值,但我期待其中两个。我如何能够这样做,当我选中多个复选框时,复选框的发布数据将是已选中复选框的值数组?
答案 0 :(得分:2)
您必须将输入的名称设置为数组:
name="workspace_trees_rpt_target[]"
答案 1 :(得分:0)
您为所有复选框指定了相同的名称。因此只能返回一个值。
更改为
<input type="checkbox" name="workspace_trees_rpt_target[]" id="<?php echo $t["tree_id"];?>" value="<?php echo $t["tree_id"];?>" />
然后在您的PHP代码中,您将得到$ _POST ['workspace_trees_rpt_target'] []
的数组所以像这样处理:
if ( isset( $_POST['workspace_trees_rpt_target'] ) ) {
// at least one checkbox has been ticked
foreach ( $_POST['workspace_trees_rpt_target'] as $checkboxe ) {
// do whatever $checkbox it will be set to the value="" that you set earlier
}
}