Marcel: Kleine (oder doch große???) Fehlersuche.

Hallo.

Ich habe ein Script was mucken macht.
Und zwar in dem Formular "geld". Da kommt immer NaN Warum????
Ich sehe keinen.
(Könnt es ja mal Testen, das Script hat aber zur Zeit noch nicht viel Sinn.)

<html>
<head>
<script type="text/javascript">
function bau() {
    neueeinwohner = document.eingabe.neueeinwohner.value
    einwohner = document.eingabe.einwohner.value
    geld = document.eingabe.geld.valu
  document.eingabe.neueeinwohner.value = einwohner * 0.07 ;
  document.eingabe.einwohner.value =  eval(einwohner) +  eval(neueeinwohner) ;
  document.eingabe.geld.value =  eval(geld) + eval(geld) ;
 }
</script>

</head>
<body>
<form name="eingabe" action=""  onsubmit="return false;">
Neue Einwohner<input type="text" value="20" name="neueeinwohner" size="10"><br>
Einwohner<input type="text" value="20" name="einwohner" size="10"><br>
Geld:<input type="text" value="20" name="geld" size="10"><br>
<input type="button" value="los"   onClick="bau()">
</form><body>
<html>

  1. Hallihallo

    geld = document.eingabe.geld.valu

    ^ Da fehlt ein e

    Und ein paar Strichpunkte fehlen auch noch ;-)

    Ciao,

    Harry

  2. 1. Strichpunkte sind was feines.
    2. Steht in Deinem Original wirklich "valu" (ohne "e")?

    Hab's nicht ausprobiert. Ist mir bloß gerade aufgefallen...

    mfg,
    der Michl.

  3. Hi Marcel,

    die Eingabe von "Geld" (*g*) erfolgt über ein Textfeld, der übergibt einen String, also NaN. Du musst den Value zuerst in eine Zahl umwandeln, bevor Du damit rechnen kannst.

    Grüße,

    Utz

    Anmerkung: Wenn Du aber einen Mathe-Operator verwendest, der für Strings keinen Sinn ergibt, wandelt die JS-Engine den Variablentyp automatisch um. Nur ergibt halt "+" auch für Strings einen Sinn, wenn auch einen anderen ;-)