Tach!
var wert1 = document.getElementById('feld1').value; var wert2 = document.getElementById('feld2').value; var erg1 = wert1 * wert2;
Was haben deine Debug-Versuche ergeben? Du hast keine unternommen?
Lass dir mal die Werte ausgeben, z.B. mit
console.log(wert1, wert2)
.Wenn du dann noch nicht siehst, was da los ist, deren Typen:
console.log(typeof wert1, typeof wert2)
.
Die Typen sind nur die halbe Wahrheit. Javascript kann problemlos mit Strings rechnen - solange sich darin eine für Javascript gültige Zahl befindet.
Was kommt also als
erg1
raus?
Zum Beispiel: "42" * "23"
ergibt 966
. Kommas allerdings sind kein Bestandteil von Zahlen und ein String mit Ziffern und Komma dazwischen ergibt NaN
im numerischen Umfeld.
Die Eingabefelder sollten vom Typ
"number"
sein. (Dann kannst du auch Minimal- und Maximalwerte dafür angeben.)
Der Typ heißt number
, Anführungszeichen sind kein Bestandteil des Typnamens sondern sind Begrenzer des Attributwertes (und in dem Fall sogar syntaktisch korrekt weglassbar).</präzisierung> Wenn wir schon immer auf den Unterschied zwischen Tag und Element hinweisen, müssen wir auch den Rest beachten.
dedlfix.