【问题标题】:Not able to fetch correct values against checkboxes无法针对复选框获取正确的值
【发布时间】:2020-10-22 06:08:48
【问题描述】:

如图所示,我有一个表单,每个复选框都有一个 name 和 age 的值。

问题在于,即使未选中复选框但该复选框的输入值已填充,它也会进入后端。我希望如果未选中该复选框,那么即使输入文本已填充名称和年龄的值也不应转到后端 如果复选框被选中,age 和 name 的值应该只发送到后端

<form method="POST" action="savedata.php">
    <tr>
        <td>
            <input name="checkbox_value[]" type="checkbox" data-id="<?php echo $id; ?>" >
        </td>
        <td>
            <input type="text" name="child_name[]" placeholder="Name" data-id="<?php echo $id; ?>" value="<?php echo $child_name; ?>">
        </td>
        <td>
            <input type="text" id="age" name="child_age[]" class="child-age" placeholder="Age" data-id="<?php echo $id; ?>" value="<?php echo $child_age; ?>">
        </td>
    </tr>
</form>

在使用 savedata.php 获取数据时

print_r($_POST);

我得到以下数组

Array
(
    [checkbox_value] => Array
        (
            [0] => on
            [1] => on
        )
    [child_name] => Array
        (
            [0] => child 1
            [1] => child 2
            [2] => child 3
        )
    [child_age] => Array
        (
            [0] => 4
            [1] => 6
            [2] => 10
        )
)

我想要的结果数组是

Array
(
    [checkbox_value] => Array
        (
            [0] => on
            [1] => on
        )
    [child_name] => Array
        (
            [0] => child 1
            [1] => child 2
        )
    [child_age] => Array
        (
            [0] => 4
            [1] => 6
        )
)

如果有人能告诉我如何解决这个问题,如果这不可能,那么是否可以检查 checkbox_value 是否有 2 个值,然后我可以从 child_name 和 child_age 数组中选择 2 个值

【问题讨论】:

  • 你不能这样做,输入没有中间链接。这就是说,通过一些简单的php处理,您只能得到检查的child_namechild_age的值。
  • @β.εηοιτ.βε 是否有可能创建中间链接
  • 不在 HTML 中,您可能希望在 JS 中执行此操作。但是当您取消选中复选框时,您可以将输入的值设为空白

标签: php html arrays forms checkbox


【解决方案1】:

您可以通过测试是否激活复选框来处理答案,如下所示:

if (isset([checkbox_value][0]))

然后,您可以将数据放入具有所需结构的新数组中(即您的第二个示例)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2018-09-10
    • 2016-03-06
    相关资源
    最近更新 更多