Récupérer l'attribut "id" de l'élément cliqué [Résolu]

biglover971 7 Messages postés mardi 18 février 2003Date d'inscription 15 mars 2007 Dernière intervention - 15 mars 2007 à 10:15 - Dernière réponse : jordane45 20565 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention
- 22 nov. 2013 à 01:53
Bonjour,
Voila mon souci. J'ai une liste comme ceci :

    <li id="1" class="mesmontages" name="1" onclick/>
    <li id="2" class="mesmontages" name="2" />
    <li id="2" class="mesmontages" name="3" />

J'arrive
à afficher l'attribut "id" grace a l'evenement :
onclick="alert(this.id)", qui m'affiche bien la valeur dans une pop-up.
Maintenant
je voudrais récupérer ce même id en cliquant sur la balise <li>
mais en appelant une fonction externe(dans un fichier source attaché a ma page) dans l'événement "onclick". J'ai essayé
quelques fonctions DOM, et le fameux "document.getElementByID", mais ce
qui me faut justement en paramètre, c'est ce fameux attribut "id" de la
balise <li> sur laquelle je clic.
Je ne vois vraiment pas comment faire a part ca. Merci pour vos suggestions.

NEO971
Afficher la suite 

3 réponses

Répondre au sujet
biglover971 7 Messages postés mardi 18 février 2003Date d'inscription 15 mars 2007 Dernière intervention - 15 mars 2007 à 12:42
+3
Utile
J'ai resolu le probleme. Merci roro06(j'avais deja testé comme tu a fais mais ca ne fonctionnait pas). Merci AJAX et Prototype !

Voila ce que je fait, ca pourrait aider d'autres :

- Voici le code html  (il ne faut pas oublier d'inclure la librairie Protorype dans l'en-tête):
<head>
...
 <script type="text/javascript" src="prototype.js"></script>
...
</head>
...

    <li id="1" class="mesmontages">ligne1</li>
    <li id="2" class="mesmontages">ligne2</li>
    <li id="3" class="mesmontages">ligne3</li>

....
- Ici on a un bouton qui ajoute un observer (observateur) sur la div "ma_div", et ainsi de même à chaque clic sur ce bouton.

-Et voici le code JavaScript à mettre entre des balises <script></script> ou dans un fichier externe :

function getId()
{   
    Event.observe("ma_div","click",afficherID);
        function afficherID(evt)
    {
        elementCliquer = Event.element(evt);
        var myID = elementCliquer.id;
        alert(myID);
    }
}


NEO971
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de biglover971
+2
Utile
1
Eu... je sais que je déterre un sujet, mais un this n'aurais pas suffit?

<div id = "1" onclick="getId(this);"></div> // peut importe la balise

<script>
function getId(monId)
{
id=monId.id;

// et on fait ce que l'on veux de l'id
alert(id);
}
</script>
jordane45 20565 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 22 nov. 2013 à 01:53
c'est clair que c'est un vieux (très vieux) sujet...^^
Eu... je sais que je déterre un sujet, mais un this n'aurais pas suffit?
Si son but était de récupérer l'id.. autant utiliser THIS.ID directement....

<div id = "1" onclick="getId(this.id);"></div> // peut importe la balise 

<script> 
function getId(monId) 
{ 
 alert(id); 
} 
</script>


PS : @remjie : lorsque tu postes du code sur le forum, merci de penser à utiliser les balises de code (comme je l'ai fait).
Si tu ne sais pas comment faire, regarde ICI


NB : Au final, je n'ai pas vraiment compris ce que cherchais à faire le demandeur (il y a 5 ans...).
A mon avis, (même si ça ne sert surement plus à rien vu le délai...), il aurait pu tout simplement faire :

<li id="1" class="mesmontages" onclick="maFonction(this.id);">ligne1</li> 
<li id="2" class="mesmontages" onclick="maFonction(this.id);">ligne2</li> 
<li id="3" class="mesmontages"onclick="maFonction(this.id);">ligne3</li>
Commenter la réponse de remjie

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.