dedlfix: Real time Rechner (AJAX/JS)

Beitrag lesen

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.