Afficher un message
Vieux 12/05/2007, 23h35   #2
ASM
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: besoin d'aide pour un problème javascript...

FLaplante a écrit :
>
> J'ai des champs qui sont générés dynamiquement. Lors de l'exécution de
> la fonction, les champs existent. Est-ce qu'il y a une manière que la
> fonction onclick que je créé affiche la string "champ1"... Voici un
> exemple de code qui reproduit un peu ce que ca doit faire :
>
> function addOnClick(){
> for(i=1;i<=5;i++){
> var champ = 'champ'+ i;
> document.getElementById(champ).onclick = function(){alert(champ);};
> }
> }
> //la valeur i = 5 après la boucle...


function addOnClick(){
for(var i=1; i<=5; i++)
{
document.getElementById('champ'+i).onclick = function(){
alert(this.id);
};
}
}

> Est-ce que quelqu'un peut me dire ce qui cloche ???


Tu as bien trouvé ce qui clochait :
tu attibues la même variable à plusieurs fonctions et c'est le dernier
état de cette variable qui sera pris en compte partout.



function $(id) { return document.getElementById(id); }


function addOnClick(){ // variante 1
for(var i=1; i<=5; i++)
$('champ'+i).onclick = Function('alert("champ '+i+'")');
}

function addOnClick(){ // variante 2
for(var i=1; i<=5; i++)
$('champ'+i).onclick = Function('alarm("champ '+i+'");');
}

function alarm(txt) { alert('C\'est bien le :\n'+txt); }


--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
  Réponse avec citation
 
Page generated in 0,05221 seconds with 9 queries