Hallo Labtec!
var zahl1 = document.Formular.test1.value;
var zahl2 = document.Formular.test2.value;
var gesamt = (zahl1 + zahl2);
Das Problem: Er addiert die Zahlen nicht sondern setzt sie zusammen! Also wenn zahl1 "100" ist und Zahl2 "200" gibt er "100200" aus. Wenn ich aber Zahl1 und Zahl2 jeweils zusätzlich noch mit 1 multipliziere funktioniert es einwandfrei...
Könnte mir jemand erklären warum das so ist?
Die beiden Werte aus den Formularfeldern faßt JS wohl als Strings (Zeichenketten) auf, und da man mit + auch Strings verketten kann, macht JS standardmäßig das.
Wenn du aber den Wert aus dem Feld zuerst *1 nimmst, kann sich JS wohl denken, daß es jetzt mit einer Zahl zu tun hat, und nimmt deswegen dann + als Addition für Zahlenwerte (Lesetip: http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#berechnung).
MfG
Götz
Losung und Lehrtext für Freitag, 5. März 2004
Auf ihm wird ruhen der Geist des Herrn, der Geist der Weisheit und des Verstandes, der Geist des Rates und der Stärke, der Geist der Erkenntnis und der Furcht des Herrn. (Jesaja 11,2)
Jesus ließ sich taufen von Johannes im Jordan. Und alsbald, als er aus dem Wasser stieg, sah er, dass sich der Himmel auftat und der Geist wie eine Taube herabkam auf ihn. Und da geschah eine Stimme vom Himmel: Du bist mein lieber Sohn, an dir habe ich Wohlgefallen. (Markus 1,9-11)
(http://www.losungen.de/heute.php3)