[résolu] Calcul en Javascript - +1 et -1 avec le modèle DOM

C’est encore moi

Mon problème est le suivant : je n’arrive pas à ajouter +1 ou retrancher -1 au champ total

document.vote.total.value -= '1';
document.vote.total.value += '1';

t’as essayer sans les ’ ?

ça ne change rien
Edité le 25/11/2009 à 21:13

je pense que tu devrais récupérer la valeur du total, lui ajouter ou retirer un dans le script et ensuite remettre la valeur dans le input

document.vote.total.value = document.vote.total.value + 1;
document.vote.total.value = document.vote.total.value - 1;

:neutre:

je vien d’essayer avec ta solution mais ca ne fonctionne pas mieux

il y a juste la soustraction qui fonctionne avec les deux solutions
le +1 n’effectue pas de calcul, il ajoute juste 1 à la fin du champ

c’est bizarre

document.vote.total.value = document.vote.total.value - ( - 1 );
document.vote.total.value = document.vote.total.value - 1;

Je sais c’est de la bidouille :stuck_out_tongue:
C’est le + qui est un concaténation et non un plus. ya surment une systeme pour le plus une syntax presise genre ++ ou je sais pas :slight_smile:

ouai bah la bidouiille est une bonne idée
ca fonctionne, merci

je ferai ca :


x = parseInt(document.vote.total.value);
x = x - 1;
document.vote.total.value = x



+1 teddy.

Ton champ est vu comme une chaîne de caractères, et l’opérateur d’addition sert aussi de concaténation. Une solution néanmoins plus barbare pour faire la somme consiste à retrancher -1 :

document.vote.total.value -= -1;
<=>
document.vote.total.value += 1;

Tu peux aussi tenter :

document.vote.total.value++;

ou

document.vote.total.value–;

Qui ont l’avantage de ne pas être ambigues.

document.vote.total.value++;
document.vote.total.value–;

bien joué Sans-Nom ca fonctionne aussi et j’opte pour cette méthode