value der Formularliste
Volker
- javascript
Hallo,
folgendes Script, das unter IE 5 ohne Probleme läuft, bringt beim NS 4.7 immer ein "NaN" im Ergebnisfeld. Habe schon einiges ausprobiert. Was mache ich falsch?
Gruss Volker
<html>
<head>
<title>Berechnen</title>
<script language="JavaScript">
<!--
function rechne()
{
var x = parseFloat(window.document.rechner.zahl1.value);
var y = parseFloat(window.document.rechner.zahl2.value);
window.document.rechner.erg.value = x * y;
}
//-->
</script>
</head>
<body bgcolor=#EEEEEE>
<form name="rechner">
<select name="zahl1" onChange="javascript:rechne()">
<option value="3">3,0 l</option>
<option value="3.5">3,5 l</option>
<option value="4">4,0 l</option>
<option value="4.5">4,5 l</option>
</select>
<select name="zahl2" onChange="javascript:rechne()">
<option value="1.85">Normal</option>
<option value="1.9">Super</option>
</select>
<input type=button value="Berechne" onClick="javascript:rechne()">
<input type=text name="erg" size=30 maxlength=30>
</form>
</body>
</html>
function rechne()
»» {
var x = parseFloat(window.document.rechner.zahl1.value);
var y = parseFloat(window.document.rechner.zahl2.value);
window.document.rechner.erg.value = x * y;
»» }
//-->
</script>
Hi
du must die Selectboxen mit nem Construct wie diesem abfragen :
<script language="JavaScript">
<!--
function rechne()
{
var x = parseFloat(document.rechner.zahl1.options[document.rechner.zahl1.selectedIndex].value);
var y = parseFloat(document.rechner.zahl2.options[document.rechner.zahl2.selectedIndex].value);
window.document.rechner.erg.value = x * y;
}
//-->
</script>
dann sollte es auch mit Netscape klappen :)
gruss
Jens
Mal wieder typisch, dass das mit dem IE funktioniert... so gewoehnen sich die Leute einen 'wird schon hinhauen' Programmierstil an...
In einer Auswahlliste werden die Gebnisse in einem Array gespeichert, wie das auch in SelfHTML ganz richtig im Abschnitt ueber Objekte/Forms/Elements/Options steht. Schliesslich können in einer Auswahlliste prinzipiell mehrere Möglichkeiten angewählt sein.
Deshalb ist rechner.zahl1.value natuerlich ganz grosser Quatsch, den nur der enthirnte IE (anscheinend mit Blick auf gewisse MS-Geschaedigte, denen die Objektstruktur von JS voellig egal ist, wenn es nur funktioniert.) richtig interpretiert.
Nichts fuer ungut,
Bio
Hallo Bio!
Deshalb ist rechner.zahl1.value natuerlich ganz grosser Quatsch, den nur der enthirnte IE (anscheinend mit Blick auf gewisse MS-Geschaedigte, denen die Objektstruktur von JS voellig egal ist, wenn es nur funktioniert.) richtig interpretiert.
Ich wuerde sagen, etwas polemisch, aber Du hast's auf den Punkt gebracht!
Calocybe
Hallo,
vielen Dank fuer Eure Hinweise an einen JS-Einsteiger (mit leider nicht hypertextuellem SELFHTML in Buchform).
Calocybe, zu Deinem Posting wuerde mir doch glatt eine Menge einfallen....
Ich wuensche Dir, dass Du Deine Emotionen auch weiterhin so schoen ausleben kannst ;-). Waere ja sonst ziemlich hart ....
Gruss Volker
Ich meinte natuerlich Bio. DER Bio??
Gruss Volker
Ja. Tschuldigung. Ich kann mich tierisch ueber den IE aufregen, und ueber die, die ihn benutzen. Lag eigentlich gar nicht an Dir und Deiner Frage, die war naemlich berechtigt, und ich habe mich da selbst mal heftig auf die Schnauze gelegt. Immerhin habe ich Dir ja eine Antwort gegeben, was ja zeigt, dass ich die Frage prinzipiell berechtigt fand. Tut mir leid, wenn Du Dich jetzt 'gedisst' fuehlst. Asche ueber mein Haupt.
Aber im Prinzip haette ich gegen einen geharrnischten Reply gar nichts gehabt. Wortgefechte sind immer so eine intellektuelle Herausforderung... von wegen :'Wenn man nicht taglich spuert, das man lebt, dann lebt man gar nicht' oder so (frei geklaut aus 'Die Welt ist nicht genug').
DER Bio? Gibt's mehrere? Bin ich populär? Spricht man über mich?
Verwirrt,
Bio (einer, wenn nicht "DER" ;-) )