sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
28 mars 2005 à 13:07
sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
28 mars 2005 à 21:36
Bonjour,
Dans une boucle for, j'affecte à des cellules <td> fraichement créées, une fonction pour l'évenement onclick :
Le problème c'est que : i n'a pas été remplacé par sa valeur !!!
Donc ma question est : comment faire pour que ?
J'ai (naïvement ?) essayé de passer par une chaine de caractères :
chaine ="function(){affiche_menu("+i+",menusm);}";
TD.onclick=chaine;
Mais bien entendu cette horreur ne fonctionne pas (la boite d'alert m'affiche ce que je veux, mais la fonction n'est pas appelée quand on clique)
Merci pour vos réponses
Sapakus
A voir également:
Pb de paramètre avec function(){mafonct(variable);}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 mars 2005 à 17:13
pourtant aucune raison que cela ne
marche pas : c'est ce que j'utilise
voir ma source "traitements sur les tableaux"
sur ce site.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Vous n’avez pas trouvé la réponse que vous recherchez ?
sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 20113 28 mars 2005 à 21:36
Bultez,
dans ta source 'traitement des tableaux' on trouve effectivement dans la fonction ajout(), cette ligne :
tableau.rows(l).cells(Number(adr.value)+1).setAttribute("onclick",function(){ColonneChoix(this);});
En effet, dans ce cas, cela fonctionne car le paramètre de ColonneChoix est this ! Donc inutile qu'il soit remplacé par quoique ce soit. Dans mon cas, je veux qu'à chaque tour de boucle, le paramètre change.
c à d :
i= 0 ---> function (){ mafonct(0,menusm);}; i =1 --->
function(){mafonct(1,menusm);};
i= 2 --->
function (){ mafonct(2,menusm);};
etc..
Or que j'utilise : maligne.onclick =function(){mafonc(i)}; ou maligne.setAttribute("onclick",function(){mafonc(i)};);, le problème est le même : i n'est pas remplacé par 0,1,2,...
Et quand je demande l'affichage de l'attribut onclick j'obtiens toujours : function(){mafonc(i)};); Je ne sais pas pourquoi dans ce cas précis l'interpréteur javascript ne voit pas que i est une variable (peut-être est-ce propre à IE) , j'aurais pu le remplacer par choucroute garnieque ça aurait été pareil !
Enfin bref, heureusement, avec eval j'arrive à me tirer d'affaire.