Kenneth Ma
Kenneth Ma

Reputation: 77

validate checkboxes

I'm trying to validate the form so that the user must select at least 2 summer activities, if not, a pop up will show. Here's my code.

My java-script code is:

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;
    }

}

what's wrong with my javascript, if anyone know?

Upvotes: 0

Views: 108

Answers (3)

rab
rab

Reputation: 4144

What about using a array filter function, of 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;

Upvotes: 0

Th3Nic3Guy
Th3Nic3Guy

Reputation: 1979

Use this code, check if it works for you:

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;

}

Currently, you are just testing that if any check box is checked, then return false..

Upvotes: 0

Amrendra
Amrendra

Reputation: 2077

try this :

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

Upvotes: 1

Related Questions