bonjour comme le titre le dit, j'ai un bouton sur lequel je clic mais l'évènement n'est détecté qu'une seule fois, je suis obligé de cliquer sur F5 à chaque fois pour que mon bouton fonctionne. Que faut-il faire pour régler ce problème.
merci
Version imprimable
bonjour comme le titre le dit, j'ai un bouton sur lequel je clic mais l'évènement n'est détecté qu'une seule fois, je suis obligé de cliquer sur F5 à chaque fois pour que mon bouton fonctionne. Que faut-il faire pour régler ce problème.
merci
Attends... attends.... où est ma boule de cristal... je vois ....heu *rien* :aie:
Et si tu nous montrais le bout de code concerné ? ^^ (ou un lien)
cela peut être un comportement tout à fait normal:
Donc comme le souligne E.R.: sans code...Code:<input type="button" onclick="alert('une fois');this.onclick=function(){};" value='il était' />
Ok Un peu plus d'explication. j'ai plusieurs boutons qui appellent des fonctions différentes javascript lors d'un clicces deux fonctions les voiciCode:
1
2 <img src='icon/doc_inversionHB.png' onclick="flipHorizontal();" ></img> <img src='icon/doc_inversionDG.png'onclick="rotationimg();"></img>
action est récupérer par un switch du coté php pour exécuter la partie du programme approprié. Jai fait unCode:
1
2
3
4
5
6
7
8
9
10
11 function rotationimg(){ document.getElementById('image').src =" ./dicom.php?quality=100&action=rotate&finSession=0 "+ '&varStatic='+ varStatic(); } function flipHorizontal(){ document.getElementById('image').src =' ./dicom.php?quality=100&action=flipH'; }
du côté php pour savoir de quelle action il s'agit mais une fois que je clic sur le bouton qui envoi l'action flipH au premier clic l'action est bien affiché par mon echo et si je reclique rien ne s'affiche et là il me faut faire F5 pour que mon bouton réagisse à l'évènement. Quant au bouton qui revoit l'action rotate pas de problème je peu cliquer autant de fois que je veux le echo m'affiche rotate. Ce n'est non plus un problème de session côté php j'ai fait les testes nécessaires.Code:echo "je suis l'action".$_GET['action'];
pas d'espace à la fin de tes liens ...
Code:
1
2 document.getElementById('image').src =" ./dicom.php?quality=100&action=rotate&finSession=0&varStatic='+ varStatic();
j'ai corrigé mais ce n'est pas ça qui cause le problème
Ni au début :mrgreen:
en revanche, il en faut un entre src et onclick et img est une balise autofermante :roll:Code:document.getElementById('image').src ="./dicom.php?quality=100&action=rotate&finSession=0&varStatic='+ varStatic();
Code:<img src='icon/doc_inversionDG.png' onclick="rotationimg();" />
toujours rien de bon après ces correction
ajoute eventuellement un autre paramètre nocache="+new Date.getmilliseconds()
histoire de contourner le cache
ou alors mets un header no cache à la page php
je ne sais pas si c'est moi qui n'arrive pas à voir l'erreur mais je vous fait parvenir l'archive contenant mon code, le dossier désarchivé est à mettre dans le www directory du serveur. si vous avez le temps testez par vous même (le code n'est pas gros).
Merci
as tu testé avec un timestamp pour controuner le cache ?
Ton souci doit provenir de là puisque le f5 reactive le click
non je ne l'ai pas encore fait en gros je ne sais pas comment contourner le cache je vais chercher sur le web comment utiliser le timestamp. Je me pose néanmoins de la question de savoir si je contourne le cache comment je fais pour inversé mon image à partir de l'état précédente mais non pas à partir d'une image nouvellement chargée
ça marche juste en modifiant ma fonction comme ceciMerci à tous ceux qui ont participéCode:
1
2
3
4 function flipHorizontal(){ var test = new Date(); document.getElementById('image').src ='rotation.php?quality=100&action=flipH&finSession=0&test='+test.getTime(); }