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.
Version imprimable
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:
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:clickMonth = function() {clickMonth(elem.id);};
Je verrais plut�tAinsi chaque elem appelle la fonction avec un param�tre qui lui est propre ...Code: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:
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.Citation:
Clickmonth s'appelle elle-m�me, c'est de la r�cursivit�.
Bonjour, j'ai eu le meme type d'erreur, mais je ne vois pas de boucle ou de fonction r�cursive dans mon code javascript, ce que je fais est d'appeler la fonction ci dessous, sur un onChange du calendrier, que j'ai pris le soin d'attacher en pi�ce jointe, et ce qui est bizarre est que l'erreur appara�t lors du changement de l'ann�e, et pas du mois ou du jour
Une petite id�e ???
Merci d'avance
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <SCRIPT> function datecontrol() { var dds = document.DataForm.elements["_attr_calendar1_2D_1110"].value; var jour= parseInt(dds.substring(0,2)); var mois= parseInt(dds.substring(3,5)); var annee= parseInt(dds.substring(6,10)); var dat_debS = new Date(annee,mois,jour); var dat_finS = new Date(annee,mois,jour+6); //dat_finS=dat_finS.setDate(jour+7); //dat_finS.getDate() dayd=dat_debS.getDay();alert("le jour est :" +dayd); if (dayd!=1) { //alert("je est :"+dayd ); alert("La semaine administrative doit commencer par Samedi/Saturday"); document.DataForm.reset(); } else { document.DataForm._attr_calendar2_2D_1110.value=dat_finS.getDate()+"/"+dat_finS.getMonth()+"/"+dat_finS.getYear(); document.DataForm.submit(); } } </SCRIPT>
Je pense que tu as du code JS autre part..
Tu n'aurais pas quelque chose comme �a dans ton head ?Code:<script language="JavaScript" src="fichier.js"></script>
En effet j'ai des includes, comme suit:
<link rel="stylesheet" type="text/css" media="all" href="/dp/pages/forage/JSCalendar/calendar-blue2.css" title="win2k-brown" />
<script type="text/javascript" src="/dp/pages/forage/JSCalendar/calendar.js"></script>
<script type="text/javascript" src="/dp/pages/forage/JSCalendar/calendar-en.js"></script>
<script type="text/javascript" src="/dp/pages/forage/JSCalendar/calendar-setup.js"></script>
j'y ai jetter un oeil, mais personnellement c'est du charabia pour moi, en plus ce qui m'intrigue, c'est que d'autres collegues, ont utilis� le meme calendrier sans aucun probleme, je pense donc que le souci doit venir de mon code a moi,
Je vais attacher mon JSP au cas ou qlq1 vouderai s'y attarder :bug:
Merci
en fait j'ai trouver l'erreur, c'�tait une fonction r�cursive dans le fichier import� calendar.js, la voici:
/******************************************************/
Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
Date.prototype.setFullYear = function(y) {
var d = new Date(this);
d.__msh_oldSetFullYear(y);
if (d.getMonth() != this.getMonth())
this.setDate(28);
this.__msh_oldSetFullYear(y);
};
/******************************************************/
je l'ai mis en commentaire, et �a a march�, mais je sais pas quel pourrai �tre les effets secondaire, vous le savez vous ???