IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

évènement onclick détecté qu'une seule fois


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut évènement onclick détecté qu'une seule fois
    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

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Attends... attends.... où est ma boule de cristal... je vois ....heu *rien*

    Et si tu nous montrais le bout de code concerné ? ^^ (ou un lien)

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    cela peut être un comportement tout à fait normal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="alert('une fois');this.onclick=function(){};" value='il était' />
    Donc comme le souligne E.R.: sans code...

  4. #4
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    Ok Un peu plus d'explication. j'ai plusieurs boutons qui appellent des fonctions différentes javascript lors d'un clic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src='icon/doc_inversionHB.png' onclick="flipHorizontal();" ></img>
    <img src='icon/doc_inversionDG.png'onclick="rotationimg();"></img>
    ces deux fonctions les voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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';
     }
    action est récupérer par un switch du coté php pour exécuter la partie du programme approprié. Jai fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "je suis l'action".$_GET['action'];
    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.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pas d'espace à la fin de tes liens ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     document.getElementById('image').src =" ./dicom.php?quality=100&action=rotate&finSession=0&varStatic='+ varStatic();

  6. #6
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    j'ai corrigé mais ce n'est pas ça qui cause le problème

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    pas d'espace à la fin de tes liens ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     document.getElementById('image').src =" ./dicom.php?quality=100&action=rotate&finSession=0&varStatic='+ varStatic();
    Ni au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('image').src ="./dicom.php?quality=100&action=rotate&finSession=0&varStatic='+ varStatic();
    en revanche, il en faut un entre src et onclick et img est une balise autofermante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src='icon/doc_inversionDG.png' onclick="rotationimg();" />

  8. #8
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    toujours rien de bon après ces correction

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    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

  10. #10
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    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
    Fichiers attachés Fichiers attachés

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    as tu testé avec un timestamp pour controuner le cache ?

    Ton souci doit provenir de là puisque le f5 reactive le click

  12. #12
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    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

  13. #13
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    ça marche juste en modifiant ma fonction comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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();
     }
    Merci à tous ceux qui ont participé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Configuration] filtrer le flux sortant une seule fois, en debut de code...
    Par misstinkiete dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 13/10/2005, 21h20
  2. [DLL] Ma DLL execute le Timer une seul fois !
    Par TOTO32 dans le forum Langage
    Réponses: 14
    Dernier message: 13/08/2005, 20h37
  3. Réponses: 1
    Dernier message: 19/03/2005, 22h47
  4. Réponses: 18
    Dernier message: 10/02/2005, 13h22
  5. Réponses: 2
    Dernier message: 30/11/2004, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo