memoriser une variable dans une fonction avec usage multiples

Répondre
Keika
le 15/09/2008 à 03:38
Keika
salut,

long topic, je sais. Je ne vois pas comment etre plus specific.

Alors voila, j'ai une simple fonction qui m'affiche un nombre dans un div via un clique sur un input de type button. Simple et ca marche. Cependant, je voudrais qu'a chaque clique, le nombre soit ecrit dans un autre div. Donc j'ai pense a nommer mes div avec le meme ID mais un different chiffre a la fin.
Maintenant ce que j'aimerai reussir a faire, est de faire en sorte que javascript se souvienne de la valeur de cette variable i. Voici ce que j'ai pour le moment:

//Function to display the numbers inside the folders
function numbers(num){
var i = 0 ;
var folder = document.getElementById('number'+i) ;

folder.innerHTML = num ;

}//End function number


et ca en html:
<form action="./" method="post">

<p>

<input type="button" onclick="numbers(0) ;" value="0" />
<input type="button" onclick="numbers(1) ;" value="1" />
<input type="button" onclick="numbers(2) ;" value="2" />
<input type="button" onclick="numbers(3) ;" value="3" />
<input type="button" onclick="numbers(4) ;" value="4" />
<input type="button" onclick="numbers(5) ;" value="5" />
<input type="button" onclick="numbers(6) ;" value="6" />
<input type="button" onclick="numbers(7) ;" value="7" />
<input type="button" onclick="numbers(8) ;" value="8" />
<input type="button" onclick="numbers(9) ;" value="9" />

</p>

</form>

<div class="number">

<div id="number0">

</div>

</div>

<div class="number">

<div id="number1">

</div>

</div>


je comprends bien qu'avec mon code pour le moment, le chiffre ne s'affichera jamais que dans le div "number0". Je ne vois pas comment faire en sorte que javascript se souvienne de la precedente valeur de i...

Merci d'avance

K.
Le PHP --> C'est dur !
LupusMic
le 15/09/2008 à 06:37
LupusMic
Déclare i en dehors de la fonction, mais au même niveau que la déclaration de la fonction :

var i = 0 ;

function numbers(num)
{
i = num ;
document.getElementById('number'+i).textContent = i ;
}


Ça permet d'utiliser le mécanisme des closures.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Keika
le 15/09/2008 à 08:18
Keika
merci Lupus, comme toujours au top...
Le PHP --> C'est dur !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours