Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未选中复选框_Php_Javascript_Html - Fatal编程技术网

Php 未选中复选框

Php 未选中复选框,php,javascript,html,Php,Javascript,Html,我有一个web表单,其中有一个复选框。表单是动态创建的,因此此表单上可能有多个复选框。我需要知道它是否被检查过。问题是一个未选中的复选框根本不会发布任何内容 我知道以前有人问过这个问题,但解决方法总是提供一个带有值的隐藏字段。我的问题是我需要知道它是否被签出,不一定是值。有没有办法做到这一点?我想我需要使用一些javascript,但不确定如何使用。您需要检查$\u POST索引是否已设置 if (isset($_POST['myCheckBox'])) { ... } 您可以使用相同的名称创

我有一个web表单,其中有一个复选框。表单是动态创建的,因此此表单上可能有多个复选框。我需要知道它是否被检查过。问题是一个未选中的复选框根本不会发布任何内容


我知道以前有人问过这个问题,但解决方法总是提供一个带有值的隐藏字段。我的问题是我需要知道它是否被签出,不一定是值。有没有办法做到这一点?我想我需要使用一些javascript,但不确定如何使用。

您需要检查
$\u POST
索引是否已设置

if (isset($_POST['myCheckBox'])) { ... }

您可以使用相同的名称创建一个隐藏的输入,但值
“off”
。确保它位于文档中复选框的前面。例如:

<input type="hidden" name="something" value="off" />
<input type="checkbox" name="something" />

由于重复的名称会导致覆盖以前的值(数组除外),因此您将始终得到
$\u POST['something']
,即
“开”
(选中)或
“关”
(未选中)。

否。正如问题所述,如果字段未选中,则不会提交。@quentin确实如此。如果未提交,则不会设置索引。表单提交,而不是输入。请删除你的-1。-问题还说,在那里的复选框事先不知道。因此,我们的目标是找出存在哪些复选框,然后选中其中的哪一个。@Quentin我不打算为他编写代码-他可以想出一个命名方案,允许他动态检查存在哪些复选框。@Matt没有这样的方案。由于不知道
X
是否存在且未选中,或者数字是否在
X-1
处停止,即使是像连续数字这样简单的操作也会失败。您必须为复选框提供一个值。默认启用
on
是浏览器实施的一种错误恢复策略,作者不应依赖于此。@昆汀据我所知,无论复选框的
属性如何,浏览器总是在
上提交字符串
。-是吗?错误恢复策略不是不关心错误的许可证。我认为这会起作用。我关心的是,由于我的输入是一个数组,因为它们是在其中创建的,因此这会不会附加隐藏值,而不是用选中的值覆盖它。我会尝试,并回来,并批准回答,如果它工作时,这不使用数组的作品。所以我接受了这个答案,因为这将帮助我相信的大多数人。对我来说,解决办法就是制造一台收音机,然后用这种方式处理它。我本来不想走这条路,因为我和那些不懂电脑的人打交道,我不想弄脏屏幕。哦,好吧!谢谢你的帮助!
// if the box is unchecked:
something=off
// if the box is checked:
something=off&something=on