Zapp: fehlerhaftes Script

Beitrag lesen

Hallo David,

Kann mir einer sagen, was an diesem Script falsch ist?Wenn die Variablen undefiniert sind bekomme ich "NaN", was eigenttlich 0 sein müsste und sonst bekomme ich hier "Syntaxfehler" .Dann kreidet er mir diese Zeile an: <Script language="Javascript">

Mit den Zeilennummern darfst du es im IE nicht so genau nehmen, er meint sicher die nächste Zeile.

ergebnis1 = eval(parent.ar+parent.aj+parent.ap);
ergebnis2 = eval(parent.t+parent.n);
document.write(eval(ergebnis1+ergebnis2));

Nimm besser die eval raus, und sorge dafür, dass du nur mit Zahlen und nicht mit Zeichenketten rechnest. Den Typ der Variablen kannst du dir mit alert(typeof(parent.ar)); usw. ausgeben lassen.
Wird "string" ausgegeben, muss die Zeichenkette zum Rechnen in eine Zahl umgewandelt werden:

http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#parse_int
http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#parse_float
http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#number

function aj() {if(typeof(parent.a)=="undefined"){parent.aj ="0"} else{parent.aj = document.form0.text0.value*35.28; parent.ak = document.form0.text0.value;}}

Hier weist du parent.aj nicht die Zahl 0, sondern die Zeichenkette "0" zu; entscheidend dafür sind die Anführungszeichen. Und auch der value von input-Feldern ist erst mal eine Zeichenkette.

Grüße, Stefan