Variablenabprüfung von DropDownMenü
LIYAMA
- javascript
0 LIYAMA0 Jan0 Liyama0 holger kuehne0 LIYAMA0 holger kuehne0 LIYAMA
0 Jan
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>
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>
if (ausw == 1)
----------------^---------
Das müsste "1" heißen. Mehr hab ich leider auch nicht gefunden.
Gruß, Jan
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 .
Hi
Versuch mal das eval wegzulassen. Du willst ja einfach nur den Value Wert auslesen, und nicht irgendetwas berechnen.
Tschau Holger
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
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
Hi
Ich hab mir das ganze nochmal angeschaut. Am eval lag es nicht
Es gibt drei Fehler.
- Du musst das abschliessende form tag hinter allen Formularelementen schreiben!! Sonst werden diese nicht als Formularelemente erkannt.
- 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.
- 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
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
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