Andreas Lammers: Formular: Prüfung Felder gefüllt?

1. Ein Formular enthält die Zeile
   <input name="EMail" type="TEXT" size="40">
die ich mittels JavaScript
   function checkForm(form)
   {
     if(form.EMail.value=="")
       {
         alert("Bitte E-Mail-Adresse eintragen.");
         return false;
       }
       return true;
   }
auf ungleich Leerzeichen prüfe und eine Fehlermeldung am Bildschirm ausgebe.

2. Im Formular sind auch Checkboxen enthalten
   <input type=checkbox name="A" value="A" checked>A
   <input type=checkbox name="B" value="B" checked>B
   <input type=checkbox name="C" value="C" checked>C
Gerne würde ich eine Prüfung einbauen, wenn alle Checkboxen deaktiviert sind. (dann Fehlermeldung: "Sie wollen einen Newsletter und haben gar kein Thema aktiviert.")

Vielen Dank für Eure Unterstützung!

  1. Hallo Andreas,

    Gerne würde ich eine Prüfung einbauen, wenn alle Checkboxen deaktiviert sind. (dann Fehlermeldung: "Sie wollen einen Newsletter und haben gar kein Thema aktiviert.")

    Alle drei Checkboxen sollten in HTML bei name= den gleichen Namen erhalten. Nur so bilden sie eine Gruppe. Beispiel:

    <input type=checkbox name="Auswahl" value="A" checked>A
    <input type=checkbox name="Auswahl" value="B" checked>B
    <input type=checkbox name="Auswahl" value="C" checked>C

    Dann sind in der JavaScript-Funktion checkForm(form) so Sachen moeglich wie:

    chk = 0;
    for(i=0;i<form.Auswahl.length;++i)
    if(form.Auswahl[i].checked == true) chk = 1;
    if(chk == 0)
    {
      alert("Sie wollen einen Newsletter und haben gar kein Thema aktiviert?");
      return false;
    }

    1. Hallo Stefan,

      Alle drei Checkboxen sollten in HTML bei name= den gleichen Namen erhalten. Nur so bilden sie eine Gruppe. Beispiel:

      <input type=checkbox name="Auswahl" value="A" checked>A
      <input type=checkbox name="Auswahl" value="B" checked>B
      <input type=checkbox name="Auswahl" value="C" checked>C

      Danke,
      habe ich jedoch die ersten beiden Checkboxen aktiviert und drücke dann auf "Abschicken", erhalte ich ein E-Mail zugesandt, aus der ich nicht erkennen kann, was angeklickt war. Mein Testergebnis sieht so aus:
         Auswahl=B
         Auswahl=B
      Obwohl ich A und B aktiviert hatte!

      1. Hurra!

        Habe Eure Ansätze etwas fortgeführt - und eine Lösung:

        checkBoxen = 0;
          if(form.Kniffel.checked == true || form.Schieben.checked == true || form.Witze == true) checkBoxen = 1;
          if(checkBoxen == 0)
            {
              alert("Ein Newsletter ohne Thema macht leider keinen Sinn!");
              return false;
            }

    1. Ein Formular enthält die Zeile
         <input name="EMail" type="TEXT" size="40">
      die ich mittels JavaScript
         function checkForm(form)
         {
           if(form.EMail.value=="")
             {
               alert("Bitte E-Mail-Adresse eintragen.");
               return false;
             }
             return true;
         }
      auf ungleich Leerzeichen prüfe und eine Fehlermeldung am Bildschirm ausgebe.

    Ich mache die überprüfung immer mit der länge: form.EMail.length<=0 (ich nehme mal an das da bei dir irgend ein problem ist)

    Timo