【发布时间】: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_name和child_age的值。 -
@β.εηοιτ.βε 是否有可能创建中间链接
-
不在 HTML 中,您可能希望在 JS 中执行此操作。但是当您取消选中复选框时,您可以将输入的值设为空白
标签: php html arrays forms checkbox