1
我有一个复选框列表,我想确保用户在提交表单前至少检查一个复选框。我怎样才能做到这一点?复选框验证器
有3个类别,然后每个类别10个项目与复选框。
我想在javascript中这样做,其中我将有一个隐藏变量,然后当用户检查任何复选框时,隐藏变量将有1作为它的值,然后如果用户将取消选中该框,隐藏变量将具有0作为其值。
我有一个复选框列表,我想确保用户在提交表单前至少检查一个复选框。我怎样才能做到这一点?复选框验证器
有3个类别,然后每个类别10个项目与复选框。
我想在javascript中这样做,其中我将有一个隐藏变量,然后当用户检查任何复选框时,隐藏变量将有1作为它的值,然后如果用户将取消选中该框,隐藏变量将具有0作为其值。
你是如何标记它们的?
我希望像这样...
<input type="checkbox" name="something[]" value="55" />
在
PHP
则...
if (! isset($_POST['something']) OR empty($_POST['something'])) {
echo 'Select a checkbox, please!';
}
您还可以检查与的JavaScript ...
var inputs = document.getElementById('my-form').getElementsByTagName('input');
var checked = 0;
for (var i = 0, length = inputs.length; i < length; i++) {
if (inputs[i].getAttribute('type') !== 'checkbox') {
continue;
}
if (inputs[i].checked) {
checked++;
}
}
if (checked === 0) {
alert('Select a checkbox, please!');
}
我该如何在javascript中做到这一点? – anonymous2 2010-10-18 01:49:49
@ anonymous2查看我的编辑:) – alex 2010-10-18 01:57:38
+1这就是答案。但是,只是好奇,为什么混合了客户端和服务器端技术?我做一切服务器端,因为,用户可以关闭JS,你必须处理(如何?)。而且,根据我的经验,不可避免地会有人编辑页面源代码,稍微改变JS,“只是为了看看会发生什么”。无论哪种情况,您都需要长时间的维护,所以我建议仅使用服务器端(ymmv) – Mawg 2010-10-18 02:03:02