我遇到了一些复选框验证问题。 我正在使用插件验证:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
我有三个复选框,至少有一个必须勾选。这些复选框的初始表单代码是:
<input type="checkbox" checked name="check_options" value="News">News
<input type="checkbox" checked name="check_options" value="Events">Events
<input type="checkbox" checked name="check_options" value="Promotions">Promotions
验证规则是:
$("#commentForm").validate({
rules: {
email_options_name: {
required: true
},
email_options_company: {
required: true
},
email_options_country: {
required: true
},
email_option_email: {
required: true,
email: true
},
check_options: {
required: true,
minlength: 1
}
},
});
check_options的验证工作正常。但是,处理表单的php脚本只会打印最后一个复选框的值(因此如果勾选了两个或三个,则只发布最后一个值)。
我修改了输入名称以解决此问题:
<input type="checkbox" checked name="check_options[]" value="News">News
<input type="checkbox" checked name="check_options[]" value="Events">Events
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions
这显示了帖子中的所有值。但是,我无法让验证工作。如果我遵守我的规则:
check_options[]: {
required: true,
minlength: 1
}
我收到一个Javascript错误:SyntaxError:missing:属性id
之后如果我不使用方括号,则不会进行验证。
感谢您的帮助!
答案 0 :(得分:1)
像这样使用HTML:
<input type="checkbox" checked name="check_options[]" value="News" required minlength="1">News
<input type="checkbox" checked name="check_options[]" value="Events">Events
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions
和javascript-
check_options: {
required: true,
minlength: 1
}