Incrémentation d'une chaîne de caractères
Résolu
Jizzy
-
Jizzy -
Jizzy -
Bonjour à tous, j'ai un projet à terminer pour la semaine prochaine et je galère au niveau du javascript. En l'occurrence, mon pb est le suivant :
dans mon code html j'ai un <p id="mwj"> 0 </p>. Disons que je veux incrémenter ce 0 à l'aide d'un bouton situé plus bas dans le code. J'associe donc ce bouton à une fonction JS du genre :
function increase(){
var nb_mwj = document.getElementById('mwj');
parseInt(nb_mwj);
nb_mwj++;
document.getElementById("mwj").innerHTML = nb_mwj;
}
Or, j'obtiens un "NaN". Je ne vois pas pourquoi, quelqu'un saurait-il m'expliquer please ? :(
A voir également:
- Incrémentation d'une chaîne de caractères
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Chaine radio - Télécharger - Médias et Actualité
1 réponse
Bonjour
Cette ligne
Le paramètre que tu passes à parseInt est un élément, alors qu'il faut une chaîne de caractères. Tu devrais mettre nb_mwj.innerHTML
Ensuite, tu ne fais rien du résultat de parseInt. Il faut le mettre dans une variable pour pouvoir l'utiliser. Tu as le droit de reprendre nb_mwj.
Ce qui donne :
Il serait plus simple (et efficace) de ne pas appeler getElementNyId deux fois, et d'écrire:
Cette ligne
parseInt(nb_mwj);est une erreur pour deux raisons :
Le paramètre que tu passes à parseInt est un élément, alors qu'il faut une chaîne de caractères. Tu devrais mettre nb_mwj.innerHTML
Ensuite, tu ne fais rien du résultat de parseInt. Il faut le mettre dans une variable pour pouvoir l'utiliser. Tu as le droit de reprendre nb_mwj.
Ce qui donne :
nb_mwj=parseInt(nb_mwj.innerHTML);
Il serait plus simple (et efficace) de ne pas appeler getElementNyId deux fois, et d'écrire:
function increase(){ var nb_mwj = document.getElementById('mwj'); nb_mwj.innerHTML = parseInt(nb_mwj.innerHTML)+1; }
Jizzy
Un grand merci pour tes explications et ta correction, ça marche à merveille !