+= funktioniert nicht richtig

hallo zusammen

im folgenden kleinen script passiert etwas ganz komisches.über die buttons ‚auf‘ und ‚ab‘ soll der wert im inputfeld verändert werden. bei 'ab funktiniert das auch hervorragend also 2,1,0,-1 usw bei ‚auf‘ macht er allerdings 2,21,211,2111 usw. woran liegt das. ich hab schon lange kein javascript mehr programmiert und steh gerade auf dem schlauch.

danke für eure hilfe

rainer

test
function auf1(){
document.feedback.anzahl.value += 1;}
function ab1(){
document.feedback.anzahl.value -= 1;}
auf
ab

okay, bei der schrittweite 1 kann ich auch ++ schreiben, dann funktionierts. jetzt brauch ich aber auch noch ein feld bei dem man nur in 6er-schritten auf- oder abwärts wählen kann also +=6. auch hier funktioniert nur -=6 wieder richtig.
komisch oder?

rainer

das ist gar nicht so komisch, da deine value ein String ist und du mit string+string (die Zahl wird auch als String interpretiert) z.B. 11 für 1+1 erhälst. Die String-Operation mit dem Minus existiert nicht und deshalb wir dein Value als Zahl interpretiert. Du must einen expliziten Typcast durchführen.
das müste gehen.

var zahl=abs(document. … .value); //gibt dir die positive Zahl
document. … .value=zahl+1 //oder eben 6

Cio
mjak

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]