[javasript] stackoverflow?

stackoverflow? [javasript] - Programmation

Marsh Posté le 28-12-2001 à 11:11:38    

bonjour,
quand j essaye d utilisé la fonction  
 
fonction confirme(){
a=confirm("blabla" );
return a;
 
}
il me met stackoverflow a la ligne ou y a "a=confirm("blabla" );"
quelqu un aurait t il une idée?.

 

[edtdd]--Message édité par veryfree--[/edtdd]

Reply

Marsh Posté le 28-12-2001 à 11:11:38   

Reply

Marsh Posté le 28-12-2001 à 11:16:37    

ça marche chez moi (ie6, avec function au lieu de fonction :D)
 
t'es dans une fonction récursive ? quel est le code autour ?

Reply

Marsh Posté le 28-12-2001 à 11:23:12    

voila exactement ce que j ai
<script language="javascript">
<!--
function aproposde(page)
{
window.open(page, "aproposde", "toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=400, left=300, top=250" );
}
 
function confirm()
{
 
a = confirm ('Voulez vous vraiment supprimer cet enregistrement?';);
return a;
 
}
 
</script>  
<form name='formulaire' method='post' action='../remove.php3' onSubmit='return confirm()'> <input type=hidden name='id' value='$row[5]'><p  align='center'><input type='submit' name='envoyer' value='Supprimer' ></form></p>
merci de ton aide

Reply

Marsh Posté le 28-12-2001 à 11:32:45    

Je suis pas un expert mais avec ca, ca ne risque pas de marcher :
 
fonction confirme(){
a=confirm("blabla" );
return a;
 
}
 
Pour moi, c'est une fonction recursive, change son nom et ca ira sans doute mieux.

Reply

Marsh Posté le 28-12-2001 à 11:34:10    

révise un peu javascript :  
 
function confirm()  
{  
a = confirm ('Voulez vous vraiment supprimer cet enregistrement?';);  
return a;  
}  
 
confirm() est une fonction d'ie, tu la redéfinis. au prochain appel de confirm(), ie va appeler ta fonction. et ta fonction appelle confirm(), qui est maintenant défini comme ... ta fonction. donc ton confirm() appelle confirm() qui appelle confirm() qui appelle confirm() qui ... etc. -> d'où le stack overflow : à chaque appel de fonction, ie alloue de la place sur la pile (la stack) pour définir les variables locales et valeurs de retour. et comme ta fonction ne fait rien d'autre que s'appeler, la pile déborde (overflow).
 
sinon, je n'ai jamais utilisé le onsubmit() en js, mais le return confirm() dans ton form me semble suspect aussi ...
 
ha oui, solution : appelle ta fonction myConfirm() ou qq chose du style. ou même, gicle-là et appelle directement confirm('voulez-vous ...';) dans ta form.

Reply

Marsh Posté le 28-12-2001 à 11:38:30    

parfait caz marche j ai compri mon erreur c vrai que c etait stupide mais bon qd tu programme une journée entiere  :crazy: t as les yx ds le cul
merci encore les gard

Reply

Marsh Posté le 28-12-2001 à 11:39:56    

roooh l'erreur traitre!!
ca me rappelle des pb de compilation en C ca... :lol:  :lol:


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 28-12-2001 à 11:41:49    

veryfree a écrit a écrit :

parfait caz marche j ai compri mon erreur c vrai que c etait stupide mais bon qd tu programme une journée entiere  :crazy: t as les yx ds le cul
merci encore les gard


yep :) ce qui est délire c'est que le code que tu as donné dans ton premier message marche, lui :D

Reply

Marsh Posté le 28-12-2001 à 11:43:42    

youdontcare a écrit a écrit :

yep :) ce qui est délire c'est que le code que tu as donné dans ton premier message marche, lui :D  




put1 je savait que je les avait pas noté pareil au debut!
alors j ai reecrit pour le forum de facon a ce que ce soit plus simple
enfin le mystere du javascript
non serieux jm y fait pas a ce language  
java rulezz
jerry

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed