0

我正在尝试验证表单,以便用户必须选择至少 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;
    }

}

如果有人知道,我的 javascript 有什么问题?

4

3 回答 3

1

试试这个 :

var Checked = $('input:checkbox:checked').length;
于 2013-03-07T06:04:06.680 回答
0

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

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;

}

目前,您只是在测试是否选中了任何复选框,然后返回 false..

于 2013-03-07T06:04:40.400 回答
0

使用 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;
于 2013-03-07T08:35:55.037 回答