Bonjour tout le monde,
Lors de l'ex�cution d'une fonction javascript IE m'affiche un msg " Stack overFlow at line : x "
est ce que quelqu'un connait une solution pour ce type de problemes.
Merci d'avance.
Bonjour tout le monde,
Lors de l'ex�cution d'une fonction javascript IE m'affiche un msg " Stack overFlow at line : x "
est ce que quelqu'un connait une solution pour ce type de problemes.
Merci d'avance.
Je l'ai d�j� eu..
Tu rempli la pile de traitement..
Evite les while, les fonctions r�cursives.
Pose la partie moulinette de ton code.
Merci denisC et d-Rek pour vos r�ponses.
le message est apparue pour la premiere fois lorsque j'ai utilis� la m�thode eval() apparemment. J'etais oblig� de l'utiliser vu que la variable "elem.id" change dans chaque it�ration de la boucle. si je n'utilise pa la fonctino eval() le fonction clickMonth() s'execute toujour avec la derniere valeur de elem.id.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 for(k=1;k<13;k++){ var elem = document.getElementById(k); var clickMonth = null; var commandClickMonth = "clickMonth = function() {clickMonth("+elem.id+"); }"; eval(commandClickMonth); if (document.addEventListener) { elem.addEventListener('click', clickMonth, false); }else{ elem.attachEvent('onclick', clickMonth); } }
Bonjour,
pour ne pas avoir � utiliser eval() :Mais je doute que �a r�solve le probl�me : tu remplaces toujours la fonction par une nouvelle version ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part clickMonth = function() {clickMonth(elem.id);};
Je verrais plut�tAinsi chaque elem appelle la fonction avec un param�tre qui lui est propre ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part elem.onclick = function() {clickMonth(elem.id);};
A+
clickMonth = function() {clickMonth("+elem.id+"); }";
Clickmonth s'appelle elle-m�me, c'est de la r�cursivit�.
Si clickMonth est bel et bien d�fini quelque part ailleurs (code que tu ne nous aurais pas donn�), remplace juste le nom de ta variable clickMonth.
[/
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 for(k=1;k<13;k++){ var elem = document.getElementById(k); var clickMonth = null; var commandClickMonth = "var myFunc = function() {clickMonth("+elem.id+"); }"; eval(commandClickMonth); if (document.addEventListener) { elem.addEventListener('click', myFunc , false); }else{ elem.attachEvent('onclick', myFunc ); } }
Merci beaucoup Mr Sergejack. C'est ca la faute.Clickmonth s'appelle elle-m�me, c'est de la r�cursivit�.
Partager