我如何获得所有的复选框变量,即使没有从HTML到PHP进行检查?

2022-08-30 17:29:09

我注意到PHP似乎只返回选中的复选框的值。我希望看到复选框列表,而不仅仅是选中的复选框的值。有没有办法检测未选中框的变量?

我问,因为我希望能够更新设置。例如,我有一些已选中的选项,但如果用户决定取消选中某个选项,我需要知道该未选中的值,以便我可以更新要禁用的选项。


答案 1

我自己也遇到了这个问题。我通过添加具有相同名称的重复字段来解决它。当浏览器发送此信息时,第二个字段将覆盖第一个字段(因此请确保该字段排在第一位)。hiddenhidden

<input type="hidden" name="foo" value="">
<input type="checkbox" name="foo" value="bar">

如果未选中,您将获得:checkbox

$_REQUEST[ 'foo' ] == ""

如果选中,您将获得:checkbox

$_REQUEST[ 'foo' ] == "bar"

答案 2

这不是纯粹在PHP中可以完成的事情。

浏览器仅在选中复选框时才发送有关复选框的信息,如果您还想发送有关未选中复选框的信息,则必须在表单中添加隐藏字段并使用javascript来管理它们。


推荐