Problem/Bug mit Checkboxüberprüfung
marc
- javascript
0 marc0 Tobias Kloth
Hallo Mitleser/innen
Ich hab folgendes JavaScript in mein Formular eingebaut, um zu überprüfen ob eine Checkbox aktiviert ist ! .... bedeutet hier fehlt ein Teil JS/HTML
Ich habe einige Felder, 3 Pulldownmenues, und Radiobuttons die werden alle überprft nach meinen definerten Regeln, nur die Checkbox wird übersehen!
Könnt ihr mir aufgrund der Code-Schnipsel helfen was falsch ist ?
....
function formcheck(){
....
if (!document.sschulekontakt.pruefung[0].checked){
alert("Bitte lesen Sie die Beitrittserklärung genau durch und bestätigen Sie dies indem Sie das Kästchen ankreuzen !");
return false;
}
return true;
}
//-->
</script>
</head>
<body>
<form action="" method="post" name="sschulekontakt" id="sschulekontakt" onsubmit="return formcheck()">
....
<td width="30"><input name="pruefung" type="checkbox" id="pruefung" value="Ja"></td>
<td>Ja ich habe die<a href="<DEDIPHP>echo $con_side[85]['link'];</DEDIPHP>"><DEDIPHP>echo $con_side[85]['name'];</DEDIPHP></a> gelesen und bin damit</td>
</tr>
</table></td>
....
Mozila gibt folgenden Fehler aus
Fehler: document.sschulekontakt.pruefung[0] has no properties
Quelldatei: file:///pfad/anmeldungnachwuchs.html
Zeile: 111
Hallo Marc,
Mozila gibt folgenden Fehler aus
Fehler: document.sschulekontakt.pruefung[0] has no properties
Quelldatei: file:///pfad/anmeldungnachwuchs.html
Zeile: 111
dein Problem besteht darin, dass du nur eine Checkbox mit dem Namen "pruefung" hast.
Dann entsteht kein Array der Checkboxen und du kannst nicht mit pruefung[0] darauf zugreifen.
Abhilfe:
if (document.sschulekontakt.pruefung.length) {
//hier die Fälle bearbeiten, wenn mehrere gleichenamige Checkboxen existieren
} else if (!document.sschulekontakt.pruefung.checked) {
//hier den Fall bearbeiten, wenn nur eine Checkbox existiert
}
Viele Grüße
Antje
Hallo marc,
if (!document.sschulekontakt.pruefung[0].checked){
für was ist denn das [0] hinter "pruefung"?
return false;
}
vielleicht wird dein if überhaupt nicht aufgerufen, weil es in einem if/else-Zweig befindet der nie aufgerufen wird (ob das so ist, kann ich anhand des Codschnippsels aber nicht sagen).
Grüße aus Nürnberg
Tobias