Prebleme de calcul depuis le value d'un forme [Résolu]

Signaler
Messages postés
249
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
29 août 2011
-
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
-
Bonjour,

Voila mon probleme, il est simple mais je ne trouve la facon dont le ressoudre!

function add_form(name, type) {
var baseNum = document.getElementById(name).value; //Je recup sa valeur actuelle if (baseNum "") baseNum 0; //Si champ vide, je le met à 0
if (type == 1) {
document.getElementById(name).value = (baseNum + 1); //J'avoute 1 à la baseNum et l'ecrit dans le form
} else {
if (baseNum > 0) document.getElementById(name).value = (baseNum - 1); //Je soustrait 1 à la baseNum et l'ecrit dans le form
}
}

Seul probleme, c'est au moment ou j'ajoute 1, il le prend comme un string et fais une concaténation... ce qui donne par exemple:

baseNum = 1;
(baseNum + 1) donne 11 ...

Pour le soustraire, aucun probleme, il le prend comme etant un int!

Merci d'avance!

Try to dodge my skill noob!

3 réponses

Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
Je n'ai pas mis "++" mais "--"...
au pire mets "- -" histoire d'etre tranquille. Ca fait juste la soustraction du nombre négatif, donc une addition !

Mindiell Software
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
C'est parce que BaseNum est considérée comme une chaine de caractères. Pour éviter ce genre de problème, j'utilise le "truc" suivant :
(BaseNum -- 1)

tout simplement ;)

Mindiell Software
Messages postés
249
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
29 août 2011

J'avais déjà essayé le var++

et (var ++ 1) ne fonctionne pas! Je peut pas definire varNum en int?

Merci!

Try to dodge my skill noob!