Jack: Überprüfung von Dropdownmenus

Hi

Ich möchte mittes eines Javascripts den Inhalt der verschiedenen Formular-
felder überprüfen. Bei einzeiligen Textfelden funktioniert die Kontrolle
einwandfrei. Probleme gibt es bei Dropdown-Eingabefelder; diese werden von
meinem Javascript ignoriert.
Im Konkreten geht es mir darum, das erste Element (Bitte auswählen) nicht
als gültige Eingabe zuzulassen, sondern es muss eine andere Möglichkeit
ausgewählt werden.
Kann mir jemand weiterhelfen?

Zur Illustration hier der HTML-Code der betreffenden Datei:

<html>

<head>
<meta http-equiv="Content-Language" content="de">
<script language="JavaScript">
    <!--
    function chkFormular()
    {
     if(document.Formular.name.value == "")
      {
       alert("Bitte Ihren Namen eingeben!");
       document.Formular.name.focus();
       return false;
      }
     if(document.Formular.vorna.value == "")
      {
       alert("Bitte Ihren Vornamen eingeben!");
       document.Formular.vorna.focus();
       return false;
      }
     if(document.Formular.manu.value == "")
      {
       alert("Bitte Ihre Matrikelnummer eingeben!");
       document.Formular.manu.focus();
       return false;
      }
var chkZ = 1;
     for(i=0;i<document.Formular.manu.value.length;++i)
       if(document.Formular.manu.value.charAt(i) < "0"
       || document.Formular.manu.value.charAt(i) > "9")
         chkZ = -1;
     if(chkZ == -1)
     {
       alert("Matrikelnummer muss eine Zahl sein!");
       document.Formular.manu.focus();
       return false;
      }
     if(document.Formular.stuga.value == "")
      {
       alert("Bitte Ihren Studiengang eingeben!");
       document.Formular.stuga.focus();
       return false;
      }
     if(document.Formular.klausur.value == "Bitte auswählen")
      {
       alert("Bitte eine Klausur auswählen!");
       document.Formular.klausur.focus();
       return false;
      }
            }
    //-->
   </script>
<title>Anmeldung</title>
</head>

<body bgcolor="#FFF0D9" text="#000070" link="#0000FF" vlink="#0000FF" alink="#990000">
<p align="center"><b><font color="#000080" face="Arial" size="5"><br>
Klausuranmeldungen</font></b></p>
<p></p>
<form name="Formular" method="post" action="mailto:test@test.te" onSubmit="return chkFormular()">
<table>
<tr>
 <td>Name:</td>
 <td><input name="name" size="36"></td>
</tr>
<tr>
 <td>Vorname:</td>
 <td><input type="text" name="vorna" size="36"></td>
</tr>
<tr>
 <td>Matrikelnummer:</td>
 <td><input name="manu" size="36"></td>
</tr>
<tr>
 <td>Studiengang:</td>
 <td><input name="stuga" size="36"></td>
</tr>
<tr>
 <td>Klausur:</td>
 <td><select size="1" name="klausur">
                        <option>Bitte auswählen</option>
                        <option>Scheinklausur "Theorie des
                        Rechnungswesen"</option>
                        <option>Scheinklausur "Controlling"</option>
                      </select></td>
</tr>
<tr>
 <td> </td>
 <td> </td>
</tr>
<tr>
 <td><input type=submit value=" Daten abschicken "></td>
 <td><input type=reset value=" Daten löschen "></td>
</tr>
</table>
</form>
<p> </p>
</body>

</html>

  1. Hi

    Ich möchte mittes eines Javascripts den Inhalt der verschiedenen Formular- felder überprüfen. Bei einzeiligen Textfelden funktioniert die Kontrolle einwandfrei. Probleme gibt es bei Dropdown-Eingabefelder; diese werden von meinem Javascript ignoriert. Im Konkreten geht es mir darum, das erste Element (Bitte auswählen) nicht als gültige Eingabe zuzulassen, sondern es muss eine andere Möglichkeit ausgewählt werden. Kann mir jemand weiterhelfen?

    Zur Illustration hier der HTML-Code der betreffenden Datei:

    <html>

    <head> <meta http-equiv="Content-Language" content="de"> <script language="JavaScript">     <!--     function chkFormular()     {      if(document.Formular.name.value == "")       {        alert("Bitte Ihren Namen eingeben!");        document.Formular.name.focus();        return false;       }      if(document.Formular.vorna.value == "")       {        alert("Bitte Ihren Vornamen eingeben!");        document.Formular.vorna.focus();        return false;       }      if(document.Formular.manu.value == "")       {        alert("Bitte Ihre Matrikelnummer eingeben!");        document.Formular.manu.focus();        return false;       } var chkZ = 1;      for(i=0;i<document.Formular.manu.value.length;++i)        if(document.Formular.manu.value.charAt(i) < "0"        || document.Formular.manu.value.charAt(i) > "9")          chkZ = -1;      if(chkZ == -1)      {        alert("Matrikelnummer muss eine Zahl sein!");        document.Formular.manu.focus();        return false;       }      if(document.Formular.stuga.value == "")       {        alert("Bitte Ihren Studiengang eingeben!");        document.Formular.stuga.focus();        return false;       }      if(document.Formular.klausur.value == "Bitte auswählen")       {        alert("Bitte eine Klausur auswählen!");        document.Formular.klausur.focus();        return false;       }             }     //-->    </script> <title>Anmeldung</title> </head>

    <body bgcolor="#FFF0D9" text="#000070" link="#0000FF" vlink="#0000FF" alink="#990000"> <p align="center"><b><font color="#000080" face="Arial" size="5"><br> Klausuranmeldungen</font></b></p> <p></p> <form name="Formular" method="post" action="mailto:test@test.te" onSubmit="return chkFormular()"> <table> <tr> <td>Name:</td> <td><input name="name" size="36"></td> </tr> <tr> <td>Vorname:</td> <td><input type="text" name="vorna" size="36"></td> </tr> <tr> <td>Matrikelnummer:</td> <td><input name="manu" size="36"></td> </tr> <tr> <td>Studiengang:</td> <td><input name="stuga" size="36"></td> </tr> <tr> <td>Klausur:</td> <td><select size="1" name="klausur">                         <option>Bitte auswählen</option>                         <option>Scheinklausur "Theorie des                         Rechnungswesen"</option>                         <option>Scheinklausur "Controlling"</option>                       </select></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><input type=submit value=" Daten abschicken "></td> <td><input type=reset value=" Daten löschen "></td> </tr> </table> </form> <p> </p> </body>

    </html>

    versuch es mal damit :

    <html>

    <head> <meta http-equiv="Content-Language" content="de"> <script language="JavaScript">     <!--     function chkFormular()     {

    if(document.Formular.klausur.selectedIndex == "")       {        alert("andere auswahl");        document.Formular.klausur.focus();        return false;       }

    if(document.Formular.name.value == "")       {        alert("Bitte Ihren Namen eingeben!");        document.Formular.name.focus();        return false;       }      if(document.Formular.vorna.value == "")       {        alert("Bitte Ihren Vornamen eingeben!");        document.Formular.vorna.focus();        return false;       }      if(document.Formular.manu.value == "")       {        alert("Bitte Ihre Matrikelnummer eingeben!");        document.Formular.manu.focus();        return false;       } var chkZ = 1;      for(i=0;i<document.Formular.manu.value.length;++i)        if(document.Formular.manu.value.charAt(i) < "0"        || document.Formular.manu.value.charAt(i) > "9")          chkZ = -1;      if(chkZ == -1)      {        alert("Matrikelnummer muss eine Zahl sein!");        document.Formular.manu.focus();        return false;       }      if(document.Formular.stuga.value == "")       {        alert("Bitte Ihren Studiengang eingeben!");        document.Formular.stuga.focus();        return false;       }      if(document.Formular.klausur.value == "Bitte auswählen")       {        alert("Bitte eine Klausur auswählen!");        document.Formular.klausur.focus();        return false;       }             }     //-->    </script> <title>Anmeldung</title> </head>

    <body bgcolor="#FFF0D9" text="#000070" link="#0000FF" vlink="#0000FF" alink="#990000"> <p align="center"><b><font color="#000080" face="Arial" size="5"><br> Klausuranmeldungen</font></b></p> <p></p> <form name="Formular" method="post" action="mailto:test@test.te" onSubmit="return chkFormular()"> <table> <tr>  <td>Name:</td>  <td><input name="name" size="36"></td> </tr> <tr>  <td>Vorname:</td>  <td><input type="text" name="vorna" size="36"></td> </tr> <tr>  <td>Matrikelnummer:</td>  <td><input name="manu" size="36"></td> </tr> <tr>  <td>Studiengang:</td>  <td><input name="stuga" size="36"></td> </tr> <tr>  <td>Klausur:</td>  <td><select size="1" name="klausur">                         <option>wahl</option>                         <option>Scheinklausur "Theorie des                         Rechnungswesen"</option>                         <option>Scheinklausur "Controlling"</option>                       </select></td> </tr> <tr>  <td> </td>  <td> </td> </tr> <tr>  <td><input type=submit value=" Daten abschicken "></td>  <td><input type=reset value=" Daten löschen "></td> </tr> </table> </form> <p> </p> </body>

    </html>

    1. Hallo Peppy,

      ist das ein neues Spiel nach dem Motto: Im unteren Code wurde gegenüber dem oberen Code 1 Zeichen geändert, welches ist es?

      Gruß Lutz.

  2. Hi

    Ich möchte mittes eines Javascripts den Inhalt der verschiedenen Formular-
    felder überprüfen. Bei einzeiligen Textfelden funktioniert die Kontrolle
    einwandfrei. Probleme gibt es bei Dropdown-Eingabefelder; diese werden von
    meinem Javascript ignoriert.
    Im Konkreten geht es mir darum, das erste Element (Bitte auswählen) nicht
    als gültige Eingabe zuzulassen, sondern es muss eine andere Möglichkeit
    ausgewählt werden.
    Kann mir jemand weiterhelfen?

    if(document.Formular.klausur.value == "Bitte auswählen")
          {
           alert("Bitte eine Klausur auswählen!");
           document.Formular.klausur.focus();
           return false;
          }

    <td><select size="1" name="klausur">
                            <option>Bitte auswählen</option>
                            <option>Scheinklausur "Theorie des
                            Rechnungswesen"</option>
                            <option>Scheinklausur "Controlling"</option>
                          </select></td>

    Hallo Jack,

    Du mußt den option-Tags noch values zuweisen, die dann ausgewertet werden können, z.B. so
    <option value="Bitte auswählen">Bitte auswählen</option>
    <option value="Rechnungswesen">Scheinklausur "Theorie des Rechnungswesen"</option>
    <option value="Controlling">Scheinklausur "Controlling"</option>

    Gruß, Lutz