Je voulais savoir si une fonction pouvait etre répétée indéfiniment ... car j'ai l'impression que j'ai un soucis de ce coté la !
Merci pour votre réponse. 8O
Version imprimable
Je voulais savoir si une fonction pouvait etre répétée indéfiniment ... car j'ai l'impression que j'ai un soucis de ce coté la !
Merci pour votre réponse. 8O
Oui, mais le navigateur peut prévenir qu'un script ralenti l'exécution de la page.
Quel est ton problème ?
avec un setInterval ... ou un setTimeout en fin de fonction ...
masi se méfier alors des conflits entre les différentes instances de la fonction, voir new ...
En fait j'ai cerné le soucis ... je fais appel plusieurs fois avec une fonction qui permet de faire un "refresh" de la page php ...
Voici la facon dont j'en appele ...
Je fais appel a 2 fonctions ... via un onclick="[nom_fct]();[nom_fct]();"
Ca marche correctement sur certaines zones ... mais arrivés aprés 5-6 appels ... la fonction ne fait plus effet.
?????? :(Code:<input type="text" name="lan" value="">   <a href="#" onclick="fonction7(); refresh()"><IMG src="image/valid.jpg" style="border:"0""></a>
Bonjour,
faudrait voir les fonctions ...
Sinon, au passage faut enlever les "" autour du 0 :A+Code:style="border:0"
Si vous voulez je vous donne le code complet + de 600 lignes ...
Ok ?
refresh() devrait suffire ...Citation:
Envoyé par bilou95
voici ma fonction refresh()
Merci pour votre aideCode:
1
2
3
4 function refresh() { location.reload(); }
Heu ... oui bon ben ça vient pas de là :mrgreen:
Tu as activé la "notification des erreurs de scripts" (ou équivalent) ?
Et logiquement : tu as une erreur quand "ça marche plus" ?
... parce qu'il y a effectivement pas de raison sinon ...
notification d'erreur de script ?
Comment les active t-on ?
Merci.
Dans les options du nav ...Citation:
Envoyé par bilou95
Non ok je vois ... je les ai bien sur !! je croyais que c'etait autres choses !
Non aucune erreur ... n'apparait !
Je penses que je suis dans la merdAs !!!! grgrgrgr ...
Observe les changements dans le code source de la page, jusqu'à ce que ça merdouille ...
Ca peut pas s'arrêter sans raison ...
A+
Je sais exactement d'ou provient le soucis ...
En fait, Pourquoi ? j'ai rajouté une fonction "refresh()" pour permettre dés validation sur un champ INPUT TEXT de rafraichir automatiquement la page concernée ...
Dés que je retire la fonction 'refresh()' l'UPGRADE fonctionne parfaitement en réactualisant la page manuellement (vois tu ?)
Ce qui est bizarre c'est que j'ai au moins 4-5 fois ces fonctions répétées précedemment et l'actualisation et validation (UPGRADE sur table SQL) fonctionne parfaitement !
C'est pour ca que je demandais si des fonctions pouvait etre répétées indéfinimment !
... :(
Code qui permet de modifier une valeur dans une table SQL ...
En fait 1 fonction permet d'afficher le champ INPUT TEXT (qui est caché), ensuite une autre qui permet de faire un refresh, une autre qui permet d'exécuter le formulaire ...
CE QUI EST BIZARRE c'est que ce code fonctionne parfaitement précédemment.
Mes fonctions JAVASCRIPT
Mon code PHP / JAVASCRIPTCode:
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 <script type="text/javascript"> function refresh() { location.reload(); } function afficher9() { document.getElementById("iddelinput9").style.visibility="visible"; document.getElementById("iddelinput9").value="'.$data['lan'].'" document.getElementById("iddelimgvalid9").style.visibility="visible"; document.getElementById("iddelimgannul9").style.visibility="visible"; } function valider9() { document.forms.maj_rj45.submit(); } function annuler9() { document.getElementById("iddelimgannul9").style.visibility="hidden"; } </script>
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 if($data['lan'] == '') { echo '<tr>'; echo '<td style="border-color:#000000;border-width:1;border-style:dotted"><strong><font size="1">Carte réseau [LAN]</td>'; echo '<td style="border-color:#000000;border-width:1;border-style:dotted">'; if (isset($_POST["lan"])) { $sql_lan="UPDATE spare SET lan='".$_POST["lan"]."' WHERE id_spare='$id'"; $exe_sqllan = mysql_query($sql_lan) or die('Erreur SQL !'); } echo '<form name="maj_lan" method="POST" Action="index.php?numlien=fich_spare&id='.$id.'">'; echo '<input type="text" name="lan" value="">   <a href="#" onclick="fonction7(); refresh()"><IMG src="image/valid.jpg" style="border:"0"></a>'; echo'</form></td>'; } else { echo '<tr>'; echo '<td style="border-color:#000000;border-width:1;border-style:dotted"><strong><font size="1">Carte réseau [LAN]</td>'; if(isset($_POST["rj45"])) { $sql_rj="UPDATE spare SET lan='".$_POST["rj45"]."' WHERE id_spare='$id'"; $exe_sqlrj = mysql_query($sql_rj) or die('Erreur SQL !'); } echo'<form name="maj_rj45" method="POST" Action="index.php?numlien=fich_spare&id='.$id.'">'; echo '<td style="border-color:#000000;border-width:1;border-style:dotted">'.$data['lan'].' <IMG src="image/edit.png" id="iddelimage9" onclick="afficher9()">       <input type="text" name="rj45" id="iddelinput9" style="visibility: hidden" value=""><a href="#" onclick="valider9();refresh();"><IMG src="image/valid.jpg" id="iddelimgvalid9" style="visibility: hidden" style="border:"0"></a>  <a href="#" onclick="annuler9();refresh();"><IMG src="image/annuler.jpg" id="iddelimgannul9" style="visibility: hidden" style="border:"0"></a></form></td>'; echo'</tr>'; }
Pas de réponse ?
:?
index.php c'est la page qui contient le code que tu as donné ?
c'est une page PHP ... de mon intranet ...
Ce n'est pas la page INDEX.PHP non.
Pourquoi ?
Parce que c'est celle qui est appelée par le form (au submit).Citation:
Envoyé par bilou95
Dans cette page, une fois la maj de la bdd effectuée, tu n'as qu'à faire une redirection sur la page qui contient le <form> soumis.
Le résultat sera équivalent au refresh, sauf que tu n'auras plus à faire de reload(), puisque c'est ça qui semble poser pb ...
A+
Je sais mais c'est ce que je veux eviter ... créer un formulaire a part ...
J'integre des formulaires dans la page elle meme ... et via des fcts je les executent !
mais es tu surpris que cela plante ?
Je parle du formulaire existant, pas d'en créer un autre.Citation:
Envoyé par bilou95
Oui : si c'est la même page et qu'elle fonctionne N fois, il n'y a aucune raison qu'elle ne fonctionne plus à N+1 ...Citation:
mais es tu surpris que cela plante ?
A+
Si... le cache qui se met en route ;)Citation:
Envoyé par E.Bzz
salut,
Le cache d'I.E ?
Si c'est ca ! j'ai vidé le cache IE ... mais aucun effet ...
Je me demande si 2 fonctions dans un "onclick" pose probleme ...
car dés que je retire la 2e fonction 'refresh()', la mise a jour se fait ... sur la table SQL concernée ...
Je ne sais pas du tout quoi faire ?????? :(
Ca peut être un param serveur : si celui-ci gère l'expiration des pages consultées.Citation:
Envoyé par bilou95
Tant que le délai n'est pas atteint, la page est reprise dans le cache (OK chez toi). Dès qu'il est dépassé, le serveur regénère la page, et c'est peut-être à ce moment là que ça plante.
Pour le vérifier, lance ta page, fais un seul refresh() (puisqu'il en faut plusieurs pour que ça merdouille) puis attends qq minutes (je suppose que tu enchainais les refresh() assez rapidement).
Si ça plante dès le refresh() suivant, c'est que c'est ça.
Sinon ... le pb est ailleurs :aie:
je lache l'affaire, je plante ... Ca me dépasse !!!!!! et ca m'enerve de ne pas savoir pourquoi ca ne marche pas ...
Putain ca marche nickel pour 4 champs a modifier (validation et rafraichissement de la modif OK)
Arrivé au 5e, il refuse toutes modifs ... mais j'ai l'impression qu'il ne s'occupe que du refresh()
la mise a jour de la table SQL n'est meme pas réalisée !
???????
Qqsoit le délai entre chaque (cf. ci-dessus) ?Citation:
Envoyé par bilou95
Oui quelque soit ...
Invraisemblable ...
dés que je retire la fonction refresh() du code
... La mise a jour dans ma table SQL se fait nickel ... sauf que dés que je clique sur le bouton de validation de formulaire (soit une IMG) je voudrais qu'un refresh se fasse ... pour afficher le résultat directement sans faire un rafraichissement manuel ...Code:
1
2
3 echo '<form name="maj_wifi" method="POST" Action="index.php?numlien=fich_spare&id='.$id.'">'; echo '<input type="text" name="wifi" value="">   <a href="#" onclick="fonction6();refresh();"><IMG src="image/valid.jpg" style="border:"0"></a>'; echo'</form></td>';
Ce que je comprends pas c'est que ca marche pour les 4 premiers champs INPUT (qu'il est possible de modifier) et qu'apres ca vient a planter !!!
Un truc de dingue !!!!!!!! !!!!!! :cry: :bug:
cf #19 et #21Citation:
Envoyé par bilou95
Tu as essayé ?
Qu'est ce que ca fait ceci ?
J'essaye de suite et te réponds.
non toujours pas ... grgrgrgrrgrgrgrgrgrgr
Mouaip.
Ca devient louche, ton histoire ...
Pour forcer le rafraichissement d'une page (en prticulier lors d'un redirect() ) il faut "faire varier l'url".
Le coup classique est de rajouter un paramètre avec l'heure (au moins à la seconde).
J'ai rajouté une ancre et j'ai l'impression que ca fonctionne !!!! je te confirme ca !!!!!
En tout cas, tu m'as mis la puce a l'oreille avec ton topic de tout a l'heure.
Code:
1
2
3 echo '<a name="majwifi"><form name="maj_wifi" method="POST" Action="index.php?numlien=fich_spare&id='.$id.'">'; echo '<input type="text" name="wifi" value="">   <a href="#majwifi" onclick="fonction6();refresh();"><IMG src="image/valid.jpg" style="border:"0"></a>'; echo'</form></a></td>';
fausse alerte !!!!!!!!!!!!!!!!! :cry:
Non ca fontionne parfaitement !!!!
J'ai rajouté des ancres de ce styleEt ca fonctionne parfaitement ... Peut etre qu'il etait perdu au niveau du <a href="#" ...Code:<a name="majram">
Je ne sais pas en tout cas j'ai fais des test ce matin ... et bien ca marche nickel
es tu sceptique ?
Oui :mrgreen:Citation:
Envoyé par bilou95
... et l'ajout d'une ancre me parait pas satisfaisante comme explication.
Si c'est les <A HREF>, vire les carrément, mets ton onclick dans le <IMG> et ajoute un style="cursor:pointer".
Le résultat sera identique.
Et ça évitera un href qui ne sert à rien à part générer des pb ;)
A+
C'est OK je pense que je peux indiquer "résolu" ...
Ca surprends .. mais j'ai testé plusieurs fois ... ca marche nickel en ayant rajouté ces FOUTUES ancres ... ?????????
:hola:
si tu veux reste valide w3c essaye
Code:<a href="javascript;void(0)" name="toto">
Ca fait référence a quoi ?
Ca fait référence ... tout court :mouarf:Citation:
Envoyé par bilou95