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 :

[DOM] Récupérer le texte d'un lien cliqué


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [DOM] Récupérer le texte d'un lien cliqué
    Bonjour,
    En fait j'aimerais savoir s'il est possible de récupérer l'intitulé d'un lien sur lequel un utilisateur à cliqué.
    exemple de liens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <A HREF="page1.php" > Secret</A>
    <A HREF="page1.php" > Info</A>
    <A HREF="page1.php" > Bingo</A>
    dans page1.php, j'aimerais récupérer le lien cliqué (donc Secret ou Info ou Bingo).
    Merci d'avance pour vos lumières

    Faterr

  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
    Tu veux le récupérer en php... ? ou bien y référer par le DOM en javascript ?

    J'avoue ne pas être sûr de comprendre ta demande...

    Si tu veux le récupérer dans un script javascript ça donnera par exemple (il y a d'autres possibilités)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var contenuLien = document.getElementById('lienMachin').nodeValue();
    // ou bien (je ne sais plus, à essayer)
    var contenuLien = document.getElementById('lienMachin').innerText();
    et
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="page1.php" id="lienMachin"> Bingo</a>
    mais si tu veux le code d'un envoi ajax pour récupérer la valeur côté serveur en php, c'est pas vraiment le bon forum... ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi tout ce code ??

    Exemple tout simple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="alert(this.innerHTML)">Lien 1</a>

    Et ce n'est pas du HTML mais du JavaScript

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par Kerod Voir le message
    Pourquoi tout ce code ??
    Parce qu'il est non obstrusif et que je laisserai pas du javascript entre
    les mains d'un monteur HTML/CSS qui n'y connait rien dans mon entreprise
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    recupérer ou serait aussi une question à se poser car le click sur le href entraine l'acheminement sur une autre page ...

    si tu souhaites récupérer le innerHTML sur la page de destination il faudra passer par l'url:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="page1.php" onclick="self.location.href='this.href'+'?param1='+this.innerHTML;" > Secret</A>
    ou externaliser la fonction ...
    ainsi tu peux soit récupérer le param1 en GET coté serveur ou aller voir dans la faq comment récupérer les paramètres passés dans une url en javascript ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    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
    Citation Envoyé par Kerod Voir le message
    Pourquoi tout ce code ??
    Heu... mes 2 lignes de code ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Citation Envoyé par marcha Voir le message
    Parce qu'il est non obstrusif et que je laisserai pas du javascript entre
    les mains d'un monteur HTML/CSS qui n'y connait rien dans mon entreprise
    Rapport avec la question initiale ?

    @Romain : Hmm, oui . On va dire qu'il y a moins long (cf. proposition de SpaceFrog). Et on évite le fait de mettre des id à tous les liens

  8. #8
    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
    C'est vrai que la proposition de SpaceFrog est a priori plus concise et assez élégante, pour passer en paramètre le contenu du lien dans l'URL.

    @faterr : attention si tu n'es pas familier du DOM/javascript : mini faute de frappe dans le code de SpaceFrog (c'est à cause des doigts palmés )

    lire "innerHTML" à la place de "innrHTML" ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Merci RV ... :red:
    Corrigé dans le code initial

    j'ai oublié bien pire que ça ...
    inhiber le href:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="page1.php" onclick="self.location.href='this.href'+'?param1='+this.innerHTML;return false;" > Secret</A>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ca c'est pas bien grave
    On peut le rajouter à tout moment

  11. #11
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci à tous.
    J'avais oublié de vous préciser un truc, je débute en HTML/PHP et j'y connais rien en javascript, ajax et autres langage...
    J'avoue ne pas avoir compris toutes vos explications mais vous avez l'air d'accord sur la solution de SpaceFrog. Je vais donc essayer de la mettre en oeuvre mais avant je vous explique le fonctionnement de mon site.
    Il n'y a qu'une page appelée. C'est la fameuse page1.php qui construit le HTML permettant d'afficher +/- de lignes de menu, en fonction des droits attribués au couple log/pwd . Ce système à l'avantage de ne voir aucun paramètre dans l'url car les login/pwd son traité par POST.
    Le système de menu fonctionne déjà, mais maintenant je m'attaque à l'affichage des données en fonction du menu cliqué (et la pas possible de faire des POST ).D'ou ma question "comment récupérer le lien cliqué".

    Encore une question
    lorsque j'aurais mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <A HREF="page1.php" onclick="self.location.href='this.href'+'?param1='+this.innerHTML;return false;" > Secret</A>
    comment récuperer coté php le mot 'Secret' ?

    Merci à toutes et tous.

    Faterr

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pour ta question : il te suffira de faire un $_GET['param1']

  13. #13
    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
    +1 mais ajoutons :
    Comme a priori c'est la même page qui sera appelée à chaque fois, avec ou sans paramètre passé en GET (aucun la première fois), tu auras probablement en début de ta page php quelquechose du style :
    (désolé pour cette courte intrusion dans le domaine javascript ^^)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (isset($_GET['param1'])
    {
       $param1 = $_GET['param1'];
    }
    else
    {
       $param1 = "taValeurParDefaut";
    }

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  14. #14
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Hello,

    je suis un peu perplexe sur ton approche conceptuelle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <A HREF="page1.php" onclick="self.location.href='this.href'+'?param1='+this.innerHTML;return false;" > Secret</A>
    Qu'est-ce qui t'empêche de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="page1.php?param1=Secret">Secret</a>
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  15. #15
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    si secret est une variable renseignée ce ne sera pas possible ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  16. #16
    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
    Citation Envoyé par marcha Voir le message
    Qu'est-ce qui t'empêche de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="page1.php?param1=Secret">Secret</a>
    Citation Envoyé par SpaceFrog
    si secret est une variable renseignée ce ne sera pas possible ...
    Même si la valeur du lien est générée en php, cela suppose qu'elle est connue au moment où on l'écrit, pourquoi ne pas faire quelquechose comme :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<a href=\"page1.php?param1=".$taValeur."\">".$taValeur."</a>";
    ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  17. #17
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    j'étais parti sur une saisie de code secret coté client ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  18. #18
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Moi je dirais que si tu veux le faire en PHP qu'il faudrait voir le cours de Guillaume Rossolini disponible sur php.developpez.com.

Discussions similaires

  1. Récupérer les attributs d'un lien cliqué
    Par renaud26 dans le forum jQuery
    Réponses: 6
    Dernier message: 27/10/2011, 19h52
  2. Afficher un texte selon le lien cliqué.
    Par ledisciple dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/04/2010, 16h38
  3. Récupérer le texte d'un lien
    Par bugbug73 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/11/2008, 11h55
  4. Réponses: 2
    Dernier message: 06/07/2007, 10h59
  5. Récupérer un lien "cliqué"
    Par Luffy Duck dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/02/2006, 16h33

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