Mathias: "Checkbox" liefert immer denselben Wert ! Was mach ich falsch ?

Hallo lieber Leser,

erstmal "Danke" für Dein Interesse. Ich weiss mir nicht mehr zu helfen:

Ich habe ein Formular erstellt, in dem unter anderem eine "Checkbox" vorhanden ist:

<p><input name="agbgelesen" type="checkbox"><font face="Comic Sans MS" size="1">Ich habe die <a href="">ABGs</a> gelesen und erkläre mich damit einverstanden.</font></p>

Bevor das Formular abgesendet werden kann, soll eine Java-Script-Routine den Wert dieser Checkbox überprüfen.

<script LANGUAGE="JavaScript">
<!--
function formcheck()
{
 if (document.Formular.agbgelesen.value != "on")
 {
 alert("Ohne Ihre Zustimmung zu unseren Geschäftsbedingungen können  wir Ihre Bestellung nicht bearbeiten.");
 document.Formular.agbgelesen.focus();
 return false;
 }
}
//-->
</script>

Und nun das Problem: Egal, ob die Checkbox aktiviert wurde oder nicht, es wird immer "on" zurückgeliefert.

Was mach' ich falsch ?

  1. Hi,

    Und nun das Problem: Egal, ob die Checkbox aktiviert wurde oder nicht, es wird immer "on" zurückgeliefert.

    naja, dann schreib halt <input name="agbgelesen" type="checkbox" value="irgendwas anderes">, dann hast Du als value nicht "on", sondern "irgendwas anderes". Und wenn Du wissen willst, ob der User die Checkbox angeklickt hast, überprüfst Du die checked-Eigenschaft... ;-)

    Cheatah

    1. hallo Cheatah,

      naja, dann schreib halt <input name="agbgelesen" type="checkbox" value="irgendwas anderes">,

      das wird wohl nicht reichen, solange dort:

      if (document.Formular.agbgelesen.value != "on")

      steht.

      Es sollte noch dastehen:
      if (document.forms.agbgelesen.value != "on")

      ... und dann könnte der Rest durchaus so bleiben, wie er ist.

      Grüße

      Christoph S.

      1. Hallo, Christoph,

        Danke für Deinen Beitrag, aber geholfen hat's leider nicht:
        Es kommt dann zu einem Java-Script-Fehler (Null oder kein Objekt).
        Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.

        Mathias

        1. Hallo,

          Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.

          Du willst doch eigentlich nur abfragen:

          if (!document.Formular.agbgelesen.checked)
          {
          // ...
          }

          Dieses value="on" brauchst Du nicht und es wird auch gar nicht zugewiesen.

          MfG, Thomas

          1. Hallo Thomas,

            tausend Dank, es funktioniert !

            Mathias

        2. hi,

          Es kommt dann zu einem Java-Script-Fehler (Null oder kein Objekt).
          Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.

          schreib einfach:
          if (!document.forms.agbgelesen.checked)

          das heißt, du machst eine Negativ-Abfrage draus, dann kannst du die Frage nach "value" völlig streichen

          Christoph S.

      2. Hi,

        das wird wohl nicht reichen,

        hab ich auch nicht behauptet - wie Du in dem Teil hättest nachlesen können, den Du vorsichtshalber nicht zitiert hast ;-)

        Cheatah