Gunnar Bittersmann: Anfängerfrage Addition!

Beitrag lesen

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?

Labtec,
Der Wert eines Formularfeldes ist nie eine Zahl, sondern immer ein String. Deshalb keine Addition, sondern Konkatenation (Aneineinanderreihung).

Wenn du mit 1 multiplizierst, führt der JavaScript-Interpreter eine Typumwandlung durch. Sauberer wäre IMHO eine Lösung mit eval().
Gunnar

--
Good results come from experience; and experience comes from bad results.