Hallo an alle,
ich habe sinngemäß das folgende Skript:
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8">
</head>
<body>
<form method = 'POST' action = 'irgendwas.php' Name = 'form01' onsubmit = 'return formularPruefen()'>
<input type = 'checkbox' name = 'cb[]' id = 'cb1'> Kurs1
<input type = 'checkbox' name = 'cb[]' id = 'cb2'> Kurs2
<input type = 'checkbox' name = 'cb[]' id = 'cb3'> Kurs3 ...
<input type = 'submit' value = 'senden'>
</form>
</body>
</html>
Im wahren Skript werden die Checkboxen dynamisch aus einer Datenbank heraus erzeugt, ich weiss also nicht, wie viele davon existieren. Jetzt soll der Nutzer exakt 2 Kurse auswählen (also nicht 0, 1 oder 3 Kurse). Die Überprüfung hierzu soll erst einmal clientseitig erfolgen (hier liegt mein Problem), erst später zusätzlich serverseitig mittels PHP (letzteres stellt kein Problem dar).
Dazu muss ich irgendwie die Checkboxen in ein Javascript-Array bekommen, dieses dann durchlaufen und für jedes Arrayelement die Eigenschaft "checked == true" prüfen. Jeweils hochzählen und schauen, ob exakt zwei Checkboxen ausgewählt wurden.
Soweit die Theorie.
Leider bin ich scheinbar zu blöde, dies hinzubekommen.
Ich habe sowohl mit document.getElementsByName("cb"), document.getElementsByName("cb[]"), var cboxArray = document.form01.cb, var cboxArray = document.form01.cb[] und diversen anderen Lösungsansätzen versucht, die Infos in ein Array zu bekommen. Bislang leider vergeblich.
PS: Die eckigen Klammern im Namen der Checkboxen benötige ich zur Übernahme nach PHP.
Kann mir irgendjemand sagen, was ich hier falsch mache und wie die Funktion formularPruefen() aussehen müsste.
Besten Dank schon einmal.