0

在我的 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.phpprint_r的帖子数据。但是当显示结果时,print_r它只显示了选中复选框的一个值,但我期待其中两个。我怎样才能使当我选中多个复选框时,复选框的发布数据将是选中复选框的值数组?

4

2 回答 2

2

您必须将输入的名称设置为数组:

name="workspace_trees_rpt_target[]"
于 2013-08-01T14:54:39.610 回答
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
    }
}
于 2013-08-01T15:02:45.453 回答