Rechnen

Sasser

Erfahrenes Mitglied
Hallo Leute!

Ich möchte den Inhalt eines Feldes berechnen:

HTML:
document.getElementById('fuel').value=document.getElementById('fuel').value+this.value*$row[fuel];

Allerdings schreibt er das ergebnis immer hinten dran, anstatt es dazu zu addieren!? Was mache ich falsch?
 
Moin,

das + dient in JS sowohl der Addition, als auch der String-Verknüpfung.
Ist einer der Operanden ein String, wird das + zur String-Verknüpfung verwendet.

Abhilfe: Wandle die Strings(Werte aus Formularfeldern sind immer vom Typ String, auch wenn sie nur aus Ziffern bestehen) vor der Berechnung in einen numerischen Typ um, bspw. per Number()
 
Um es kurz zu vervollständigen, ich würde parseInt() nehmen, also dementsprechend so:
Javascript:
document.getElementById('fuel').value = parseInt(document.getElementById('fuel').value) + parseInt(this.value) * parseInt($row[fuel]);
 
Zuletzt bearbeitet von einem Moderator:
Sofern dort nur mit Integer-Werten gerechnet werden soll(was aus der Fragestellung nicht hervorgeht), könnte man das tun.
 
Zurück