Reputation: 77
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
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
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