我想检查一下 PHP FOREACH函数,如下所示:
if (isset($_POST['name'])) {
foreach ($_POST['name'] as disabled="true") {
//do something
}
}
Disabled=true 来自我在提交时保存的复选框输入。我的问题是:我可以检查 POST,foreach 已禁用 =“true”的复选框。或者以某种方式仅在条件满足时才做某事?
如果是这种情况,您不希望将未选中和禁用计数计算在内,那么这会更容易一些。
单张支票
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>
禁用的字段不会发送到服务器 -readonly
而是使用。
另外我希望你明白这foreach ($_POST['name'] as disabled="true")
不是一个有效的 php 代码,你把它当作伪代码来使用。
禁用和未选中的复选框都不会发送到服务器,因此无法区分两者。
您可以根据用户的操作添加一些隐藏字段并使用 javascript 设置其值。
请注意,这readonly
不适用于复选框,例如可以将 HTML 复选框设置为只读吗?.