Incrémentation d'une chaîne de caractères

Résolu
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:

1 réponse

Utilisateur anonyme
 
Bonjour

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; 
} 
1
Jizzy
 
Un grand merci pour tes explications et ta correction, ça marche à merveille !
0