Javascript 验证复选框

Javascript 验证复选框,javascript,validation,Javascript,Validation,我正在尝试验证表单,以便用户必须选择至少2项夏季活动,如果没有,将显示一个弹出窗口 我的java脚本代码是: function ValidateForm(f) { var summer = document.getElementsByName("summer[]"); var checked = 0; for (var i = 0; i < summer.length; i++) { if (winter[i].checked) {

我正在尝试验证表单,以便用户必须选择至少2项夏季活动,如果没有,将显示一个弹出窗口

我的java脚本代码是:

function ValidateForm(f) {

    var summer = document.getElementsByName("summer[]");
    var checked = 0;
    for (var i = 0; i < summer.length; i++) {
        if (winter[i].checked) {
            alert("Please select at least 2 summer activities");
        }
        return false;
    }

}
函数验证窗体(f){
var summer=document.getElementsByName(“summer[]);
var=0;
对于(变量i=0;i
如果有人知道我的javascript有什么问题的话?

试试这个:

var Checked = $('input:checkbox:checked').length;

使用此代码,检查它是否适用于您:

function ValidateForm(f) {

    var summer = document.getElementsByName("summer[]");
    var checked = 0;
    for (var i = 0; i < summer.length; i++) {
        if (winter[i].checked) {
   checked=checked+1            

        }

    }
if(checked<2)
{
alert("Please select at least 2 summer activities");
return false;
}
return true;

}
函数验证窗体(f){
var summer=document.getElementsByName(“summer[]);
var=0;
对于(变量i=0;i如果(选中使用JavaScript 1.6的数组过滤器函数怎么样

var summer =  document.getElementsByName("summer[]"); 
             // or document.querySelectorAll('[name="summer[]"]');

var checked = [].filter.call( summer , function( v ){
    return v.checked;
});

if ( checked.length < 2 ) {
   alert('Please select at least 2 summer activities');
   return false;       
}

return true;
var summer=document.getElementsByName(“summer[]);
//或document.querySelectorAll('[name=“summer[]”]);
选中的var=[].filter.call(summer,函数(v){
返回v.checked;
});
如果(选中。长度<2){
警报(“请选择至少2项夏季活动”);
返回false;
}
返回true;

这应该被
选中<2
。你可以使用
checked+=winter[i]。checked?1:0
对我来说效果很好,但是用jQuery替换了$。谢谢var checked=jQuery('input:checkbox:checked')。长度;