Als (op de correcte wijze) scores gegeven worden gaat alles goed. En als op geen der hoofdpunten een score gegeven wordt, komen keurig de omissiealerts op en wordt het formulier niet ingestuurd. Maar in dat geval komt na het C-omissiealert (alleen) het A-omissiealert opnieuw op. Waarom is dat en hoe corrigeer ik dat? Ik krijg geen scriptfoutmelding van Firebug en de HTML is valide HTML5.
De betreffende scripts staan onderaan in het scriptblok, dat weer onderaan in de broncode staat. Ik heb voor het testgemak de D-checkfunctie uitgeschakeld. De functie checkAllAndSend() ziet er als volgt uit:
function checkAllAndSend() {
var careLocation = upssForm.elements["care-location"];
if (careLocation[0].checked == true) {
checkASection();
checkBSection();
checkCSection();
//checkDSection();
if ((checkASection() == false) || (checkBSection() == false) || (checkCSection() == false) /*|| (checkDSection() == false)*/)
return false;
else {
upssForm.submit();
upssForm.reset();
}
}
else if (careLocation[1].checked == true) {
checkASection();
checkBSection();
//checkDSection();
if ((checkASection() == false) || (checkBSection() == false) /*|| (checkDSection() == false)*/)
return false;
else {
upssForm.submit();
upssForm.reset();
}
}
else {
alert('U dient bovenaan nog aan te geven welke soort zorg het betreft.');
return false;
}
}