0

我想检查一下 PHP FOREACH函数,如下所示:

if (isset($_POST['name'])) {
        foreach ($_POST['name'] as disabled="true") {
            //do something
        }
    }

Disabled=true 来自我在提交时保存的复选框输入。我的问题是:我可以检查 POST,foreach 已禁用 =“true”的复选框。或者以某种方式仅在条件满足时才做某事?

4

3 回答 3

1

如果是这种情况,您不希望将未选中和禁用计数计算在内,那么这会更容易一些。

单张支票

if (isset($_POST['check2'])) 
{
     //do something
}

多重检查

$check_array=array('check1','check2','check3'); // check box names

    foreach ($check_array as $v) 
{

  if (isset($_POST[$v])) 
  {
     //do something
  }

}

<form action="" method="post">
<input name="check1" type="checkbox" disabled value="check1" checked="checked" />
<input name="check2" type="checkbox" value="check2" checked="checked" />
<input name="check3" type="checkbox" value="check3" />
<input name="" type="submit" />
</form>
于 2013-06-18T21:58:31.067 回答
1

禁用的字段不会发送到服务器 -readonly而是使用。

另外我希望你明白这foreach ($_POST['name'] as disabled="true")不是一个有效的 php 代码,你把它当作伪代码来使用。

于 2013-06-18T20:35:33.497 回答
0

禁用和未选中的复选框都不会发送到服务器,因此无法区分两者。

您可以根据用户的操作添加一些隐藏字段并使用 javascript 设置其值。

请注意,这readonly不适用于复选框,例如可以将 HTML 复选框设置为只读吗?.

于 2013-06-18T20:37:43.457 回答