【发布时间】:2021-01-22 04:31:00
【问题描述】:
我一直在为我的项目使用与此类似的代码,并且我能够使用 $_POST[] 获取所有“已选中”复选框。但是,我还需要获取未选中复选框的值,因为此表单是动态构建的,并且复选框的数量可能会有所不同,并且从选中状态更改为未选中状态,反之亦然。
<form method='post' action=''> <tr>
<td>Trouble Type</td>
<td>
<input type='checkbox' name='checkboxvar[]' value='Option One'>1<br>
<input type='checkbox' name='checkboxvar[]' value='Option Two'>2<br>
<input type='checkbox' name='checkboxvar[]' value='Option Three'>3
</td> </tr> </table> <input type='submit' class='buttons'> </form>
<?php
if (isset($_POST['checkboxvar']))
{
print_r($_POST['checkboxvar']);
}
?>
我已经看到了一些使用 !isset($_POST[ ]) 的建议,但我不确定它是如何工作的,或者这是否是问题的解决方案。
任何帮助将不胜感激。
【问题讨论】:
-
未选中的复选框不会传递到 POST 数据中。
-
如果您不介意使用一点 javascript,您可以覆盖默认提交行为并使用您需要的所有数据构建一个 json 字符串,然后发送。
-
如果有可用的选项,我宁愿用 PHP 解决这个问题...
-
java 解决方案是什么样的?另外,为什么 $_POST 数组只包含那些被“选中”的复选框而不是所有的表单对象?