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

Signaler
Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
15 mars 2007
-
Messages postés
29162
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 août 2020
-
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

2 réponses

Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
15 mars 2007
2
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
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>
Messages postés
29162
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 août 2020
335
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>