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 :

faire un onclick sur un Href.


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut faire un onclick sur un Href.
    Bonjour,
    j'ai un lien href et quand l'utilisateur veut cliquer dessus : je dois mettre un message :

    j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function showMessage() {
       alert('Veuillez vousxxxx?');
    }

    et le lien est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="'+nodeTree[i].url+'" target="'+nodeTree[i].target+'" onclick="showMessage()">
    est-ce correct car cela ne fonctionne pas du tout.
    merci d'avance.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 082
    Points : 44 685
    Points
    44 685
    Par défaut
    est-ce correct car cela ne fonctionne pas du tout.
    comment est construit ta ligne, il semblerait que tu mélanges HTML et javascript!
    d'où sortent nodeTree[i].url et nodeTree[i].target

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut reponse
    ce sont des fonctions dans javascripts.

  4. #4
    Membre régulier Avatar de betadev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Essaye de tester cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function showMessage() {
       alert('Veuillez vousxxxx?');
    }
    document.write('<a href="#" onclick="showMessage()">link</a>') ;
    </script>
    si ça fonctionne ajoute tes 2 variables une par une et fait un test pour savoir d'ou vient le problème , cad écrit ça et tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function showMessage() {
       alert('Veuillez vousxxxx?');
    }
    document.write('<a href="'+nodeTree[i].url+'" onclick="showMessage()">link</a>') ;
    </script>
    si ça fonctionne , essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function showMessage() {
       alert('Veuillez vousxxxx?');
    }
    document.write('<a href="'+nodeTree[i].url+'" target="'+nodeTree[i].target+'" onclick="showMessage()">link</a>') ;
    </script>
    et n'oublie pas que dans les 2 derniers cas , il faut que les variables mis dans href et target soient prédéfinis.

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 082
    Points : 44 685
    Points
    44 685
    Par défaut
    tu ne peux pas utiliser des données javascript hors d'un contexte javascript.
    il te faudrait écrire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script type="text/javascript">
    var html = '<a href="' +nodeTree[i].url +'" target="' +nodeTree[i].target +'" onclick=\"showMessage()\">'
    document.write( html);
    </script>
    et la cela devrait fonctionner, mais c'est pas grand top :o(

    il vaut mieux procéder comme suit en ajout dynamique lorsque le DOM est construit
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <html>
    <head>
    </head>
    <body>
    <a id="lien_0" href="" target="" onclick="alert(this.href);"></a><br>
    <a id="lien_1" href="" target="" onclick="alert(this.href);"></a>
    <script type="text/javascript">
    // les donnees
    var Data = [
      {
        href   : 'page1.html',
        target : '_blank',
        value  : 'le lien #1'
      },
      {
        href   : 'page2.html',
        target : '_blank',
        value  : 'le lien #2'
      }
    ];
    // initialisation
    var i, oLien, nb = Data.length;
    for( i = 0; i <nb; i++){
      // recuperation lien via son ID
      oLien = document.getElementById('lien_' +i);
      // affectation
      oLien.href      = Data[i].href;
      oLien.target    = Data[i].target;
      oLien.innerHTML = Data[i].value;
    }
    </script>
    </body>
    </html>
    Le mieux reste de le faire coté serveur en PHP par exemple.

    Nota :
    les événements dans les balises attendent des actions javascript donc pas de problème de contexte dans ce cas, donc tu pourrais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="lien_0" href="" target="" onclick="alert(Data[0].href);">
    sans problème

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut Merci
    merci des explications.
    Cela fonctionne bien, j'arrive à avoir mon message lorsque je clique sur le lien.
    Merci encore

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

Discussions similaires

  1. [AJAX] Ajax et onclick sur un href
    Par Interface dans le forum AJAX
    Réponses: 30
    Dernier message: 22/09/2009, 00h08
  2. Faire un onclick sur une iframe
    Par djandreass dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/05/2009, 10h52
  3. Rajouter un OnClick() sur un <a href="xx">
    Par bilou95 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/08/2007, 16h26
  4. onclick sur a href avec redirection vers un autre fichier
    Par taka10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/08/2007, 15h39
  5. comment faire un onClick sur toute la page?
    Par amartin dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/03/2007, 11h34

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