11548 sujets

JavaScript, DOM et API Web HTML5

bonjour j'aimerai faire un envoi de parametre lors de l'attribution d'un evenement click sur une balise a


	var m=0;
	var contenu_pagination =$('content_pagination');
	for( m=0 ; m < nb_pages ; ++m)
	{
		var laBalise_a = document.createElement("a");
		laBalise_a.setAttribute("id",m+"_pag");
		laBalise_a.innerHTML=m;
		contenu_pagination.appendChild(laBalise_a);

		$(m+"_pag").addEvent('click',function(){recupereSource(m)});	
		
	}
}

function recupereSource(elem)
{
	alert(elem);
}


le alerrt me fait toujours 2 ...

donc ma question est comment récupéré par exemple l'id sur quoi on vien de cliqué
merci
Modifié par pinouf (24 Aug 2007 - 16:53)
Yop,

Normal que ca te retourne toujours 2, c'est censé te retourner m quand tu cliques dessus, mais m tel qui est actuellement défini, pas m tel qu'il était défini au moment où tu a attribué le onclick. Et il est maintenant à 2 car on a fini le tour de ta boucle, 2 étant la valeur la plus grande de m dans ta boucle

Modifie donc
$(m+"_pag").addEvent('click',function(){recupereSource(m)});

par
laBalise_a.addEvent('click',recupereSource);


et

function recupereSource() {
	alert(this.id);
	return false;
}


this dans la fonction recupereSource est l'élément sur lequel tu a cliqué pour lancer la fonction recupereSource. Tu a donc accès à l'id avec this.id, au contenu avec this.innerHTML, etc