marc: Problem/Bug mit Checkboxüberprüfung

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>

....

  1. Mozila gibt folgenden Fehler aus

    Fehler: document.sschulekontakt.pruefung[0] has no properties
    Quelldatei: file:///pfad/anmeldungnachwuchs.html
    Zeile: 111

    1. 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

  2. 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

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|