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();     
    }

2 つのチェックボックスを選択して [OK] ボタンをクリックするdelete.phpprint_r、投稿データに移動します。しかし、結果print_rが表示されると、チェックされたチェックボックスの値は1つしか表示されませんでしたが、そのうちの2つを期待していました。複数のチェックボックスをチェックすると、チェックボックスの投稿データがチェックされたチェックボックスの値の配列になるようにするにはどうすればよいですか?

4

2 に答える 2

2

入力の名前を配列として設定する必要があります。

name="workspace_trees_rpt_target[]"
于 2013-08-01T14:54:39.610 に答える
0

すべてのチェックボックスに同じ名前を付けました。したがって、返される値は 1 つだけです。

への変更

<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 に答える