Meike: Dropdown Boxen überprüfen

Hallo Liebe Brettgemeinde !

Ich habe ein Formular mit 31 DropdownBoxen und möchte überprüfen ob was ausgewählt wurde und falls Nein soll eine Fehlermeldung kommen.

Ich möchte aber nicht für jede Dropdownbox ein Script schreiben, gibt es vielleicht eine Schleife die soetwas abfragt ?

Über Eure Hilfe würde ich mich sehr freuen

Danke

Meike

  1. Hallo Liebe Brettgemeinde !

    Ich habe ein Formular mit 31 DropdownBoxen und möchte überprüfen ob was ausgewählt wurde und falls Nein soll eine Fehlermeldung kommen.

    Ich möchte aber nicht für jede Dropdownbox ein Script schreiben, gibt es vielleicht eine Schleife die soetwas abfragt ?

    Über Eure Hilfe würde ich mich sehr freuen

    Danke

    Meike

    document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...

    (hättest aber auch in der selfhtml gefunden....grrr)

    gerhard

    1. document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...

      (hättest aber auch in der selfhtml gefunden....grrr)

      gerhard

      HAllo !

      Danke für die Antwort aber meine Frage ist jetzt ob man dieses auch durch eine Schleife lösen kann.

      Meike

      1. Hallo Meike,

        Danke für die Antwort aber meine Frage ist jetzt ob man dieses auch durch eine Schleife lösen kann.

        ja sicher, siehe <58453.html>

        Viele Grüße

        Antje

      2. naja klar:

        <html>
        <head>
        <title>Untitled</title>

        <script language="javascript">
        function checkform()
        {
        for(i=0;i<=1;i++)
        {
           if (document.forms[0].elements[i].value == '')
           {
             alert('bitte wählen!');
             document.forms[0].elements[i].focus();
             return false;
           }
        }
        }
        </script>
        </head>
        <body>

        <form onsubmit="javascript: return checkform();">
        <select name="test1">
        <option value="">wähle</option>
        <option value="1">eins</option>
        <option value="2">zwei</option>
        </select>
        <select name="test1">
        <option value="">wähle</option>
        <option value="gr">gruen</option>
        <option value="bl">blau</option>
        </select>
        <input type="submit">
        </form>
        </body>
        </html>

        schönen tag noch,

        liebe gruesse,

        gerhard

    2. Tag!

      document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...

      Ja, das nuetzt Dir aber nur was, wenn es sich dabei z.B. um Textfelder a.s.o. handelt. Der Wert der aktuell eingestellten Option einer Selection list wird aber so abgefragt:

      selected_value = document.forms[0].elements[0].options[document.forms[0].elements[0].selectedIndex].value;

      Um das etwas zu vereinfachen, kann man schreiben:

      var select = document.forms[0].elements[0];
          selected_value = select.options[select.selectedIndex];

      Meike: Erst mal musst Du definieren, wie es sich aeussert, wenn in einer Dropdown-Box (== Selection list) "nichts" ausgewaehlt ist. Denn irgendwas ist ja immer ausgewaehlt. Hast Du vielleicht irgendein Dummy-Eintrag in jeder Liste, der by default ausgewaehlt ist?

      Um in einer Schleife die Selects eines Forms zu pruefen, reicht ein Code wie dieser:

      var i, select;

      for (i=0; i<31; i++) {
              select = document.forms[0].elements[i];
              // hier auf "nichts ausgewaehlt" testen und reagiern
          }

      Wenn Du die Selects ueber mehrere Formulare verteilt hast, wird der Code etwas schwieriger. (Du musst dann auch das document.forms-Array mit einer Variable indizieren (wie oben das elements-Array mit der Variable i indiziert wird)).

      HTH, Calocybe

      1. Kleine Korrektur:

        Um das etwas zu vereinfachen, kann man schreiben:

        var select = document.forms[0].elements[0];
            selected_value = select.options[select.selectedIndex];

        Zweite Zeile muss heissen:

        selected_value = select.options[select.selectedIndex].value;

        So lange