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

Messages postés
7
Date d'inscription
mardi 18 février 2003
Dernière intervention
15 mars 2007
- - Dernière réponse : jordane45
Messages postés
23643
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
18 décembre 2018
- 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 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
7
Date d'inscription
mardi 18 février 2003
Dernière intervention
15 mars 2007
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de biglover971
2
Merci
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
Messages postés
23643
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
18 décembre 2018
-
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.