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?
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]