Hallo,
d=eval(d+document.f.elements[z].value);
wenn jetzt z.b. d=2 und document.f.elements[3].value=4 ist dann wird nicht "6" sondern "24" ausgegeben.was mache ich falsch?
Es werden Zeichenketten addiert, da Formularfelder nicht 4 sondern "4" enthalten!
Wenn d bereits ein numerischer Wert ist sollte
d+=parseInt(document.f.elements[3].value,10);
reichen.
W e n n ... ist genau richtig. Aber wenn nicht, wird doch wieder eine Zeichenkette draus!
Wenn nicht ganz sicher ist, dass d bereits eine Zahl enthält, dann muß es richtig heißen:
d=eval(d) + eval(document.f.elements[z].value)
Das ist immer eine Zahl als Additionsergebnis.
parseInt() ist statdessen zu nehmen, wenn d (vorher und nachher) eine Ganze Zahl (Integer) ist bzw. sein soll. (Aber Vorsicht, da wird nicht grundet, sondern die Nachkommastellen werden abgeschnitten.)
Gruß
Hans35