LIYAMA: Variablenabprüfung von DropDownMenü

Hallo an alle erstmal,
ich bekomms einfach nicht gebacken, das ich aus meinem html dropdownmenü über JS abprüfe was ausgewählt wurde.
Bitte prüft doch mal meinen Quelltext

<script LANGUAGE="JavaScript"><!--
function beitrag()
{
var ausw;
ausw =  eval(window.document.Beitragsrechner.beruf.options[window.document.Beitragsrechner.beruf.selectedIndex].value);
if (ausw  == 1)
{
}
if (ausw  == "2")
{
}
else
{
alert("Es wurden leider nicht alle Felder korekt ausgeführt. Bitte überprüfen Sie Ihre Eingaben nochmal.")
}
}
// -->
  </script>
</head>

<body bgcolor="white" text="navy">  

<form name="Beitragsrechner">
  </form>
  
  <center>
  <p><font size="5"><b>Beitragsrechner</b></font></p>
  </center>
  <center>
   <p><font size="3">Bitte geben Sie Ihren Berufsstand an.</font></p>
          <p><font size="3">
                            <select name="beruf" tabindex="1" size="1">
    <option value="0">Berufsstand
    <option value="1">Selbstständig
    <option value="2">Arbeitnehmer
          </select></font></p>
    </body>

</html>

  1. Hier für die ausgereiften, mein ganzer Quelltext vielleicht liegts ja an was anderen  <script LANGUAGE="JavaScript"><!--
    function beitrag()
    {
    var ausw;
    ausw =  eval(window.document.Beitragsrechner.beruf.options[window.document.Beitragsrechner.beruf.selectedIndex].value);
    if (ausw  == 1)
    {
    var beitrag = 0;
    var einko;
    einko = eval(window.document.Beitragsrechner.Einkommen.value);
    beitrag = einko / 1000;
    beitrag = beitrag * 109;
    window.document.Beitragsrechner.display.value = beitrag
    }
    if (ausw  == "2")
    {
    var beitrag = 0;
    var einko;
    einko = eval(window.document.Beitragsrechner.Einkommen.value);
    beitrag = einko / 1000;
    beitrag = beitrag * 118;
    beitrag = beitrag / 2;
    window.document.Beitragsrechner.display.value = beitrag
    }
    else
    {
    alert("Es wurden leider nicht alle Felder korekt ausgeführt. Bitte überprüfen Sie Ihre Eingaben nochmal.")
    }
    }
    // -->
      </script>
    </head>

    <body bgcolor="white" text="navy">  
    

    <form name="Beitragsrechner">
      </form>
      
      <center>
      <p><font size="5"><b>Beitragsrechner</b></font></p>
      </center>
      <center>
       <p><font size="3">Bitte geben Sie Ihren Berufsstand an.</font></p>
              <p><font size="3">
                                <select name="beruf" tabindex="1" size="1">
        <option value="0">Berufsstand
        <option value="1">Selbstständig
        <option value="2">Arbeitnehmer
              </select></font></p>
       <p>Bitte geben Sie Ihr monatliches</p>
       <p>Bruttoeinkommen in DM an.</p>
       <p><input type="text" name="Einkommen" tabindex="2" size="9" maxlength="7"></p>
       <p><b><input type="submit" name="Berechnen" tabindex="3" onclick = beitrag() value="Berechnen">
             <input type="reset" name="Zurücksetzen" tabindex="4"></b></p>
       <p><b>Ihr monatlicher Beitragssatz</b></p>
       <p><b>beläuft sich a</b><b>uf...</b></p>
       <p><b><input type="text" name="display" tabindex="4" size="9" maxlength="7" disabled></b></center>
    </body>

    </html>

    1. if (ausw  == 1)

      ----------------^---------
      Das müsste "1" heißen. Mehr hab ich leider auch nicht gefunden.

      Gruß, Jan

      1. if (ausw  == 1)
        ----------------^---------
        Das müsste "1" heißen. Mehr hab ich leider auch nicht gefunden.

        Gruß, Jan

        Ja stimt hab mich nur verschrieben.

        aber weiter oben wo ich den wert der variable zuweise da bekomme ich den fehler .

        1. Hi
          Versuch mal das eval wegzulassen. Du willst ja einfach nur den Value Wert auslesen, und nicht irgendetwas berechnen.
          Tschau Holger

          1. Hi
            Versuch mal das eval wegzulassen. Du willst ja einfach nur den Value Wert auslesen, und nicht irgendetwas berechnen.
            Tschau Holger

            Danke Holger aber das hilft leider auch nichts.
            Es kommt imer noch die Fehlermeldung das es kein OBjekt ist , das window.dokument...... wo ich das eval weggelassen habe

            Danke nochmal für die hilfe

            1. Hi
              Ich hab mir das ganze nochmal angeschaut. Am eval lag es nicht
              Es gibt drei Fehler.
              1. Du musst das abschliessende form tag hinter allen Formularelementen schreiben!! Sonst werden diese nicht als Formularelemente erkannt.
              2. du musst im form tag onsubmit="return false" schreiben, damit das formular nicht "weggeschickt" wird. Ohne dieses return false wirde die Seite sofort wieder neu geladen.
              3. Du musst das if (ausw  == "2") durch else if (ausw  == "2") ersetzen. Sonst bezieht sich der abschliessende else Bereich nur auf Auswahl="2" und nicht auch noch auf Auswahl="1".
              So hier dein Quelltext:
              <html><head>
              <script LANGUAGE="JavaScript">
              <!--
              function beitrag()
              {
              var ausw;
              ausw
              =  eval(window.document.Beitragsrechner.beruf.options[window.document.Beitragsrechner.beruf.selectedIndex].value);
              if (ausw  == "1")
              {
              var beitrag = 0;
              var einko;
              einko = eval(window.document.Beitragsrechner.Einkommen.value);
              beitrag = einko / 1000;
              beitrag = beitrag * 109;
              window.document.Beitragsrechner.display.value = beitrag
              }
              else if (ausw  == "2")
              {
              var beitrag = 0;
              var einko;
              einko = eval(window.document.Beitragsrechner.Einkommen.value);
              beitrag = einko / 1000;
              beitrag = beitrag * 118;
              beitrag = beitrag / 2;
              window.document.Beitragsrechner.display.value = beitrag
              }
              else
              {
              alert("Es wurden leider nicht alle Felder korekt ausgeführt. Bitte überprüfen Sie Ihre Eingaben nochmal.\n Auswahl="+ausw)
              }
              }
              // -->
                </script>
              </head>

              <body bgcolor="white" text="navy">
                <form name="Beitragsrechner" onsubmit="return false">

              <center>
                <p><font size="5"><b>Beitragsrechner</b></font></p>
                </center>
                <center>
                 <p><font size="3">Bitte geben Sie Ihren Berufsstand an.</font></p>
                        <p><font size="3">
                                          <select name="beruf" tabindex="1" size="1">
                  <option value="0">Berufsstand
                  <option value="1">Selbstständig
                  <option value="2">Arbeitnehmer
                        </select></font></p>
                 <p>Bitte geben Sie Ihr monatliches</p>
                 <p>Bruttoeinkommen in DM an.</p>
                 <p><input type="text" name="Einkommen" tabindex="2" size="9" maxlength="7"></p>
                 <p><b><input type="submit" name="Berechnen" tabindex="3" onclick = beitrag()
              value="Berechnen">
                       <input type="reset" name="Zurücksetzen" tabindex="4"></b></p>
                 <p><b>Ihr monatlicher Beitragssatz</b></p>
                 <p><b>beläuft sich a</b><b>uf...</b></p>
                 <p><b><input type="text" name="display" tabindex="4" size="9" maxlength="7"
              disabled></b></center>  </form>
              </body>

              </html>
              Tschau Holger

              1. Hi
                Ich hab mir das ganze nochmal angeschaut. Am eval lag es nicht
                Es gibt drei Fehler.

                1. Du musst das abschliessende form tag hinter allen Formularelementen schreiben!! Sonst werden diese nicht als Formularelemente erkannt.
                2. du musst im form tag onsubmit="return false" schreiben, damit das formular nicht "weggeschickt" wird. Ohne dieses return false wirde die Seite sofort wieder neu geladen.
                3. Du musst das if (ausw  == "2") durch else if (ausw  == "2") ersetzen. Sonst bezieht sich der abschliessende else Bereich nur auf Auswahl="2" und nicht auch noch auf Auswahl="1".
                  So hier dein Quelltext:
                  <html><head>
                  <script LANGUAGE="JavaScript">
                  <!--
                  function beitrag()
                  {
                  var ausw;
                  ausw
                  =  eval(window.document.Beitragsrechner.beruf.options[window.document.Beitragsrechner.beruf.selectedIndex].value);
                  if (ausw  == "1")
                  {
                  var beitrag = 0;
                  var einko;
                  einko = eval(window.document.Beitragsrechner.Einkommen.value);
                  beitrag = einko / 1000;
                  beitrag = beitrag * 109;
                  window.document.Beitragsrechner.display.value = beitrag
                  }
                  else if (ausw  == "2")
                  {
                  var beitrag = 0;
                  var einko;
                  einko = eval(window.document.Beitragsrechner.Einkommen.value);
                  beitrag = einko / 1000;
                  beitrag = beitrag * 118;
                  beitrag = beitrag / 2;
                  window.document.Beitragsrechner.display.value = beitrag
                  }
                  else
                  {
                  alert("Es wurden leider nicht alle Felder korekt ausgeführt. Bitte überprüfen Sie Ihre Eingaben nochmal.\n Auswahl="+ausw)
                  }
                  }
                  // -->
                    </script>
                  </head>

                <body bgcolor="white" text="navy">
                  <form name="Beitragsrechner" onsubmit="return false">

                <center>

                <font size="5"><b>Beitragsrechner</b></font></p>
                  </center>
                  <center>

                <font size="3">Bitte geben Sie Ihren Berufsstand an.</font></p>

                <font size="3">
                                            <select name="beruf" tabindex="1" size="1">
                    <option value="0">Berufsstand
                    <option value="1">Selbstständig
                    <option value="2">Arbeitnehmer
                          </select></font></p>

                Bitte geben Sie Ihr monatliches</p>

                Bruttoeinkommen in DM an.</p>

                <input type="text" name="Einkommen" tabindex="2" size="9" maxlength="7"></p>

                <b><input type="submit" name="Berechnen" tabindex="3" onclick = beitrag()
                value="Berechnen">
                         <input type="reset" name="Zurücksetzen" tabindex="4"></b></p>

                <b>Ihr monatlicher Beitragssatz</b></p>

                <b>beläuft sich a</b><b>uf...</b></p>

                <b><input type="text" name="display" tabindex="4" size="9" maxlength="7"
                disabled></b></center>  </form>
                </body>

                </html>
                Tschau Holger

                Holger Danke du hast mir sehr geholfen
                ich hätte das niemals zum laufen gebracht.
                Mach weiter so

        2. if (ausw  == 1)
          ----------------^---------
          Das müsste "1" heißen. Mehr hab ich leider auch nicht gefunden.

          Gruß, Jan

          Ja stimt hab mich nur verschrieben.

          aber weiter oben wo ich den wert der variable zuweise da bekomme ich den fehler .

          Hab den Fehler, aber leider keine Lösung.

          die eckigen Klammern bei Options nehmen nur Zahlen an, da kannst Du keine ganzen Objekte reinschreiben.

          Also zB options[0]

          Gruß, Jan

          1. Hi Jan
            Ja, das stimmt, dass da eine Zahl stehen muss, aber
            window.document.Beitragsrechner.beruf.selectedIndex
            ist eine Zahl, naemlich der wievielte! Eintrag der Auswahlliste ausgewaehlt wurde
            siehe <../../tecbbdaa.htm#a7>
            Tschau Holger