Moin!
Ich als Nicht-JavaScript-Profi freue mich immer wieder, wenn ich ein nützliches Script bekomme.
Dummerweise habe ich jetzt nun eins, was nicht 100%ig funktioniert.
HTML
- <!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
- <html>
- <head>
- <title>JavaScript: Checkboxwerte auswählen und umkehren</title>
- <script type=text/javascript>
- function alle(namen) {
- anzahl = namen.length;
- for(i=0;i<anzahl;i++)
- {namen[i].checked = true;}
- }
- function invers(namen) {
- anzahl = namen.length;
- for(i=0;i<anzahl;i++) {
- if(namen[i].checked) {namen[i].checked = false;}
- else{namen[i].checked = true;}
- }
- }
- </script>
- </head>
- <body>
- <form name="listen" action="#" method="post">
- <input type="checkbox" name="hobby" value="Lesen"> Lesen<br>
- <input type="checkbox" name="hobby" value="Fernsehen"> Fernsehen<br>
- <input type="checkbox" name="hobby" value="Spielen"> Spielen<br>
- <input type="checkbox" name="hobby" value="Sport"> Sport<br>
- <input type="checkbox" name="hobby" value="Shoppen"> Shoppen<br>
- <a href="javascript:alle(document.listen.hobby)">alle markieren</a> || <a href="javascript:invers(document.listen.hobby)">Auswahl umdrehen</a><br>
- <br>
- <input type="checkbox" name="ort" value="Dortmund"> Dortmund<br>
- <input type="checkbox" name="ort" value="Essen"> Essen<br>
- <input type="checkbox" name="ort" value="Bochum"> Bochum<br>
- <input type="checkbox" name="ort" value="Gelsenkirchen"> Gelsenkirchen<br>
- <input type="checkbox" name="ort" value="Bottrop"> Bottrop<br>
- <input type="checkbox" name="ort" value="Kamen"> Kamen<br>
- <input type="checkbox" name="ort" value="Iserlohn"> Iserlohn<br>
- <a href="javascript:alle(document.listen.ort)">alle markieren</a> || <a href="javascript:invers(document.listen.ort)">Auswahl umdrehen</a><br>
- <br>
- <input type="submit" value="Los">
- </form>
- </body>
- </html>
Nun ist es in HTML leider so, dass der letzte Wert einer Gruppe übertragen wird und nicht alle Felder, die ausgewählt wurden.
Mit einem Array ginge das wohl.
Wie erklär ich das nun meinem JavaScript?
Marcel
EDIT: Habe ich es zu kompliziert geschrieben? Hab ich irgendwie es unverständlich geschrieben?