Leggy: Checkbox

Hallo,
hab ein kleines Problem mit den Checkboxen.
Habe 3 Felder, eines muss der User anwählen.
Falls er keines wählt erhält er eine Meldung.
Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.

Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
Kann mir jemand helfen?

So wird natürlich nur box1 gecheckt:

if(document.eingabe.box1.checked == false){
      alert("Bitte die Satzung lesen!");
      document.eingabe.box1.focus();
      return false;
     }

<input type="checkbox" name="box1" value="ON"
   <input type="checkbox" name="box2" value="ON"
   <input type="checkbox" name="box3" value="ON"

Gruß
Leggy

  1. Hi,

    hab ein kleines Problem mit den Checkboxen.
    Habe 3 Felder, eines muss der User anwählen.
    Falls er keines wählt erhält er eine Meldung.
    Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.

    So wird natürlich nur box1 gecheckt:

    if(document.eingabe.box1.checked == false){
          alert("Bitte die Satzung lesen!");
          document.eingabe.box1.focus();
          return false;
         }

    Verstehe ich das richtig, dass der User MINDESTENS eine Checkbox auswählen muss?
    In dem Fall kannst du deine Überprüfung doch für alle Checkboxen durchführen. Statt dem alert() nimmst du eine Variable, welche mit false initialisiert wird, und nur dann auf true gesetzt wird, wenn eine Checkbox gecheckt ist (hier musst du natürlich auf checked==true überprüfen *g).
    Nach dieser Überprüfung wertest du diese Variable aus, und wenn sie immernoch false ist, dann gibst du die Meldung aus.

    Gruß,
    Arthur D.

    --
    >> So long, and thanks for all the fish. <<
    1. Hallo Arthur,

      sorry, hab mir selbst geantwortet.
      Viele Dank für deine Antwort, komme aber so nicht weiter.

      Gruß
      Leggy

      Hi,

      hab ein kleines Problem mit den Checkboxen.
      Habe 3 Felder, eines muss der User anwählen.
      Falls er keines wählt erhält er eine Meldung.
      Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.

      So wird natürlich nur box1 gecheckt:

      if(document.eingabe.box1.checked == false){
            alert("Bitte die Satzung lesen!");
            document.eingabe.box1.focus();
            return false;
           }

      Verstehe ich das richtig, dass der User MINDESTENS eine Checkbox auswählen muss?
      In dem Fall kannst du deine Überprüfung doch für alle Checkboxen durchführen. Statt dem alert() nimmst du eine Variable, welche mit false initialisiert wird, und nur dann auf true gesetzt wird, wenn eine Checkbox gecheckt ist (hier musst du natürlich auf checked==true überprüfen *g).
      Nach dieser Überprüfung wertest du diese Variable aus, und wenn sie immernoch false ist, dann gibst du die Meldung aus.

      Gruß,
      Arthur D.

  2. Hallo Arthur,

    vielen Dank für deine Anwort.
    Genau 1 Feld muss Pflicht sein.
    Könntest du mir weiterhelfen?
    Bin leider kein Profi und habe ein paar
    Möglichkeiten probiert, is nich.
    Wie müsste das Script aussehen?(für Dummies)

    Gruß
    Leggy

    Hallo,
    hab ein kleines Problem mit den Checkboxen.
    Habe 3 Felder, eines muss der User anwählen.
    Falls er keines wählt erhält er eine Meldung.
    Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.

    Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
    Kann mir jemand helfen?

    So wird natürlich nur box1 gecheckt:

    if(document.eingabe.box1.checked == false){
          alert("Bitte die Satzung lesen!");
           document.eingabe.box1.focus();
           return false;
          }

    <input type="checkbox" name="box1" value="ON"
        <input type="checkbox" name="box2" value="ON"
        <input type="checkbox" name="box3" value="ON"

    Gruß
     Leggy

    1. Hallo,

      Hallo Arthur,

      wenn du schon auf Arthurs Beitrag reagierst, dann antworte ihm doch bitte auch direkt, anstatt dir selbst.

      Genau 1 Feld muss Pflicht sein.

      Dann frage ich mich, warum du dann Checkboxen gewählt hast. Für eine Auswahl von genau 1 aus n eignen sich eigentlich Radiobuttons optimal.
      Dann könntest du dir sogar die Javascript-Prüfung sparen, weil schon konstruktionsbedingt immer genau ein Feld ausgewählt ist.

      So long,
       Martin

      PS: Ach ja, TOFU muss ja auch nicht unbedingt sein!

      --
      Der Alptraum jedes Computers:
      "Mir war, als hätte ich gerade eine 2 gesehen."
      1. Hallo,

        ich hoffe, dass ich dem Richtigen antworte.
        Es Muss mind. eine Box, können aber auch alle drei Boxen
        markiert werden.
        Vielleicht erbamt sich jemand, dieses Script zu ergänzen.
        Ich weiss, learning by doing, aber funzt nicht.
        Ich brauch eine Lösung, mit Tipps komme ich (noch) nicht weiter.
        Wer kann mir helfen?

        Viele Grüße
        Leggy

        Hallo,

        Hallo Arthur,

        wenn du schon auf Arthurs Beitrag reagierst, dann antworte ihm doch bitte auch direkt, anstatt dir selbst.

        Genau 1 Feld muss Pflicht sein.

        Dann frage ich mich, warum du dann Checkboxen gewählt hast. Für eine Auswahl von genau 1 aus n eignen sich eigentlich Radiobuttons optimal.
        Dann könntest du dir sogar die Javascript-Prüfung sparen, weil schon konstruktionsbedingt immer genau ein Feld ausgewählt ist.

        So long,
        Martin

        PS: Ach ja, TOFU muss ja auch nicht unbedingt sein!

  3. Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
    Kann mir jemand helfen?

    So wird natürlich nur box1 gecheckt:

    if(document.eingabe.box1.checked == false){
          alert("Bitte die Satzung lesen!");
          document.eingabe.box1.focus();
          return false;
         }

    Du hast nicht verraten, wann du die Funktion aufrufst, du musst sie natülrich beim abschicken (onsubmit) aufrufen und den Rückgabwert dem Handler mitteilen.

    also in etwa so onsubmit="return deineFunktion(this);"

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hallo Struppi,

      ist eine Anmeldung die dann per php weitergeleitet wird.
      Funzt ja auch alles.
      Nur die Checkboxen machen trouble.
      Einzelbox ist kein Problem.
      Wie gsagt, User muss min. eine wählen.
      Danach gibt er seine Mailadresse an und kanns versenden.

      Gruß
      Leggy

      Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
      Kann mir jemand helfen?

      So wird natürlich nur box1 gecheckt:

      if(document.eingabe.box1.checked == false){
            alert("Bitte die Satzung lesen!");
            document.eingabe.box1.focus();
            return false;
           }

      Du hast nicht verraten, wann du die Funktion aufrufst, du musst sie natülrich beim abschicken (onsubmit) aufrufen und den Rückgabwert dem Handler mitteilen.

      also in etwa so onsubmit="return deineFunktion(this);"

      Struppi.

      1. Nur die Checkboxen machen trouble.
        Einzelbox ist kein Problem.
        Wie gsagt, User muss min. eine wählen.
        Danach gibt er seine Mailadresse an und kanns versenden.

        Genau, wenn du die Prüfung so einbaust wie ich es vorschlug.

        Struppi.

        --
        Javascript ist toll (Perl auch!)