I had a code written in my files to validate a login form that works for most browsers including safari but suddenly one week ago it stopped working for checkboxes. If i submit the form without choosing a service then it submits which shouldn't happen. Here is my code below, it would be great if anyone could point out why it stopped working. Thanks in advance!
<form method="post" action="includes/blah.php" name="GuestForm" id="GuestForm" autocomplete="off" onsubmit="return validate();">
<input name="services[]" type="checkbox" value="blah"> blah<br>
<input name="services[]" type="checkbox" value="blah2"> blah2<br>
<input name="services[]" type="checkbox" value="blah3"> blah3<br>
<input type="submit" class="submit" id="submit" value="Submit"><input type="reset" value="Reset"><br>
</form>
<script>
function validate(){
if(!document.getElementById('services[]').checked){
alert('Please choose a service');
return false;
}
return true;
}
</script>
<script>
function validate(){
var services = document.getElementsByName('services[]');
for(k=0; k < services.length; k++) {
if (services[k].checked) return true;
}
alert('Please choose a service');
return false;
}
</script>
edit for exact answer:
<script>
function validate(){
var services = document.getElementsByName('services[]');
var services_length = services.length;
if (services_length) {
var unchecked = true;
for(k=0; k < services_length; k++) {
if (services[k].checked) {
unchecked = false;
break;
}
}
if (unchecked) {
alert('Please choose a service');
return false;
}
}
return true;
}
</script>