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 :

onclick return false ne marche pas sur Chrome !


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut onclick return false ne marche pas sur Chrome !
    Bonjour,

    J'ai trouvé un moyen pour cliquer sur un lien pour exécuter une fonction JavaScript puis rester sur la page et ne pas suive le href du lien :

    il suffit de rajouter l'instruction : "return false;" à la fin du onclick.

    Ca marche sur Firefox, mais ça ne marche pas sur Chrome. Pourquoi ? Est-ce que cette astuce est un bug de Firefox ou c'est Chrome qui pose problème ? Avez vous une autre solution ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ça marche sous chrome
    le problème est surement dans ton code

    A+JYT

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    Effectivement, j'ai essayé sur un exemple simple pour tester si ça marche sur Chrome et ça marche. Mais je ne comprend pas pourquoi ça ne marche pas sur mon code initial alors que je fais la même chose et que en plus ça marche sur Firefox...
    Bizarre

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    entoure ton code de try catch
    et place ton return false après.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Try {
       //ton code
    } catch (e) {
     console.error(e);
    }
    return false;
    cela devrait t'écarter le cas on ton code provoque une erreur

    A+JYT

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    J'ai entouré ma fonction de try catch comme tu m'a indiqué, et maintenant quand je clique sur le lien, rien ne se passe. Ça veut dire quoi ?

  6. #6
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    tu regarde la console ou pas, car ça devrais te mettre quelque chose dedans

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    Question bête : c'est où la console ?

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    C'est bon, j'ai trouvé la console.
    Le message d'erreur est le suivant :

    "Cannot read property 'id' of undefined"

    C'est peut être parce que j'appelle ma fonction avec 2 paramètres avec le deuxième qui est le id d'un élément html qui est défini après l'appel à la fonction dans le code ?

  9. #9
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    maintenant pour t'aider à trouver ton pb d'id il nous faut le code de ta fonction ou page

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    Voici le code de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    function afficheMenu(obj, obj2)
    {
      var idMenu = obj.id;
      var idSousMenu = "sous" + idMenu;
      var sousMenu = document.getElementById(idSousMenu);
      var idImg = obj2.id;
      var img = document.getElementById(idImg);
      var idImg1 = "img1" + idMenu;
      var idImg2 = "img2" + idMenu;
     
      if (sousMenu.style.display == "none")
        sousMenu.style.display = "block";
      else
        sousMenu.style.display = "none";
     
      img.style.display = "none";
      if (idImg == idImg1)
        document.getElementById(idImg2).style.display = "inline";
      else
        document.getElementById(idImg1).style.display = "inline";
    }

  11. #11
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    les l=numéros de lignes cité sont ceux de ton bloc code plus haut

    les problèmes peuvent venir de la ligne 4 ou 7 donc oui tu à effectivement un problème avec tes objets dom

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 197
    Points : 225
    Points
    225
    Par défaut
    Effectivement, le problème provenait de la ligne 7, il dit que l'objet obj2 est undefined
    Je pense que c'est parce que mon obj2 est défini après l'appel à la fonction dans onclick,
    Donc, j'ai modifié dans mon appel de fonction, en mettant l'id du deuxième paramètre entre apostrophes, et j'ai remplacé la ligne 7 par :
    var idImg = obj2;
    et là ça marche !!!!

    Merci pour votre aide sekaijin et TiranusKBX

  13. #13
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    mais de rien ce fus un plaisir

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

Discussions similaires

  1. onclick qui ne marche pas sur un bouton
    Par sliders_alpha dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/10/2011, 21h51
  2. fonction appelée sur onchange marche sous FF et pas sur chrome et IE
    Par sajodia dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/11/2010, 15h59
  3. IE8 : return false ne marche pas
    Par teraDev dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/10/2010, 18h56
  4. Onclick ne marche pas sur un element "disabled"
    Par Niki59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/07/2009, 13h12
  5. onclick="return false" ne fonctionne pas
    Par pcdj dans le forum ASP.NET
    Réponses: 16
    Dernier message: 13/09/2007, 15h31

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