Hi Sabine,
ich komme auch aus einer anderen Ecke und bin ziemlich unbeleckt in JavaScript, aber an Checkboxen + Auswertung habe ich auch gerade gebastelt. Dein Code ist übrigens wirklich höllisch. Ich geb dir mal meinen Code, ich glaube, der macht, was du möchtest, jedenfalls in Teilen:
<html>
<head>
<title>Checkereien</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
/* Zaehlvariablen fuer A,B,C,D */
zA = 0;
zB = 0;
zC = 0;
zD = 0;
/* Pruefen, was angekreuzt wurde */
function pruef(){
/* 1. Frage */
if(document.fragebogen.cb1[0].checked == true)
{
zA++;
}
if(document.fragebogen.cb1[1].checked == true)
{
zB++;
}
if(document.fragebogen.cb1[2].checked == true)
{
zC++;
}
if(document.fragebogen.cb1[3].checked == true)
{
zD++;
}
/* Frage 2 auswerten */
if(document.fragebogen.cb2[0].checked == true)
{
zA++;
}
if(document.fragebogen.cb2[1].checked == true)
{
zB++;
}
if(document.fragebogen.cb2[2].checked == true)
{
zC++;
}
if(document.fragebogen.cb2[3].checked == true)
{
zD++;
}
/* Frage 3 auswerten */
if(document.fragebogen.cb3[0].checked == true)
{
zA++;
}
if(document.fragebogen.cb3[1].checked == true)
{
zB++;
}
if(document.fragebogen.cb3[2].checked == true)
{
zC++;
}
if(document.fragebogen.cb3[3].checked == true)
{
zD++;
}
rueckmeldung();
}
/* Zaehlervariablen per Alert ausgeben */
function rueckmeldung(){
alert("Sie haben " +zA +" mal A, " +zB +" mal B, " +zC +" mal C und " +zD +" mal D angekreuzt.");
}
</script>
</head>
<body bgcolor="#FFFFFF">
<p>Ein Fragebogen:</p>
<form onsubmit="return false"; name="fragebogen">
<p>1. Frage: A
<input type="checkbox" name="cb1" value="checkbox">
B
<input type="checkbox" name="cb1" value="checkbox">
C
<input type="checkbox" name="cb1" value="checkbox">
D
<input type="checkbox" name="cb1" value="checkbox">
</p>
<p>2. Frage: A
<input type="checkbox" name="cb2" value="checkbox">
B
<input type="checkbox" name="cb2" value="checkbox">
C
<input type="checkbox" name="cb2" value="checkbox">
D
<input type="checkbox" name="cb2" value="checkbox">
</p>
<p>3. Frage: A
<input type="checkbox" name="cb3" value="checkbox">
B
<input type="checkbox" name="cb3" value="checkbox">
C
<input type="checkbox" name="cb3" value="checkbox">
D
<input type="checkbox" name="cb3" value="checkbox">
</p>
<p>
<input type="button" name="knopf" value="Auswerten" onClick="pruef()";>
</p>
</form>
<p> </p>
</body>
</html>
Anders als du benenne ich die zu einer Frage gehörenden Checkboxen mit demselben Namen. Durchnumeriert werden sie von alleine. Was angekreuzt wird, kansst du dann mit dem Schema
if(document.formularname.checkboxname[#].checked == true) abfragen, wobei du beachten mußt, dass die Zählung bei 0 anfängt.
Ganz oben im Script sind vier Variablen deklariert, die am Anfang alle auf 0 stehen und in Abhängigkeit davon hochgezählt werden, was angekreuzt ist. Auf diese Variablen wird dann im alert()-Befehl der Funktion rueckmeldung() wieder zugegriffen.
Vielleicht dir das ja aus der Hölle. Sollte sich rein zufällig <g> jemand hier rumtreiben, der eine elegantere Lösung vorschlagen kann, wäre ich sehr dankbar.
Alles Liebe, Uschi