我正在使用position absolute's validation engine表单。我想检查是否至少选中了一个来自组的复选框。在examples中,通过为复选框组设置相同的name
属性来完成。
我无法命名具有相同名称的复选框,因为我使用以下代码将其状态保存在数据库中:
$values = array(
'checkbox1' => null,
'checkbox2' => null
);
foreach (array_intersect_key($_POST, $values) as $key => $value) {
$values[$key] = mysql_real_escape_string($value);
}
$query_add_candidate=sprintf("INSERT INTO dbase (checkbox1, checkbox2) VALUES ('$values[checkbox1]', '$dates[checkbox2]')"
现在checkbox1
和checkbox2
会单独验证,因为它们有不同的名称。如何检查所选择的是否至少是其中之一?
这是我的HTML代码:
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="checkbox1" id="maxcheck1" value="1"/> Text1
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="checkbox2" id="maxcheck2" value="2"/> Text2
答案 0 :(得分:1)
如果已发布,则检查,
所以,如果你在$_POST["checkbox_name"]
中有它,那么它被检查,否则它不会被发布。
答案 1 :(得分:1)
在php上,
if(!$_POST['checkbox1'] && !$_POST['checkbox2']){
echo 'Error check at least one';
}
但你真正想要的是一个数组, HTML,
<input type="checkbox" value="ch1" name="check[]" />
<input type="checkbox" value="ch2" name="check[]" />
PHP
<?php
if(empty($_POST['check'])){
echo 'Error: hey, check at least one will you!?';
}
?>
所以这样你就不必一个一个地检查所有这些,特别是如果你在同一页面上加载了它们。
注意:你也应该知道,如果没有选中复选框,它也不会在php $ _POST超全局上设置,否则如果勾选,它将显示{{1}抱着,
答案 2 :(得分:0)
您可以添加大量代码以便以较差的方式重新实现控件数组,或者您可以更改构建查询的代码,以便它可以接受控件数组。
我更喜欢后者。