stackoverflow? [javasript] - Programmation
Marsh Posté le 28-12-2001 à 11:16:37
ça marche chez moi (ie6, avec function au lieu de fonction )
t'es dans une fonction récursive ? quel est le code autour ?
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
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.
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.
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 t as les yx ds le cul
merci encore les gard
Marsh Posté le 28-12-2001 à 11:39:56
roooh l'erreur traitre!!
ca me rappelle des pb de compilation en C ca...
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 ![]() 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
Marsh Posté le 28-12-2001 à 11:43:42
youdontcare a écrit a écrit : yep ![]() ![]() |
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
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]