11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour, voici mon cas :

J'ai, dans la page index.htm, trois liens :


<a id ="lien" href="page_1.htm" onclick="javascript();  return false;">page 1</a>
<a id ="lien" href="page_2.htm" onclick="javascript();  return false;">page 2</a>
<a id ="lien" href="page_3.htm" onclick="javascript();  return false;">page 3</a>


Mon but ultime est de récupérer le "href" du lien cliqué !

Lorsque je clique un un des liens, la fonction "javascript" suivante est appelée :

Code : JavaScript

function javascript()
{
var lien=document.getElementById('lien').href;
document.write (lien);
}


Comme cela, je récupère le "href" du premier lien, à savoir "page_1.htm".

Le problème est que même si je clique sur le deuxième lien, "var lien" est toujours égale à "page_1.htm" !

C'est ici que je bloque... il faut absolument que je puisse récupérer la valeur "href" du lien cliqué.

Pouvez-vous m'aider ?
Merci d'avance

Précision : l'id des liens portera toujours le même nom, à savoir "lien".
Salut,

Essai ceci :
<a id ="lien" href="page_1.htm" onclick="javascript(this.href);  return false;">page 1</a>


Puis dans ta fonction :
function javascript(href)
{
alert(href);
}


A+
tulipe_49 a écrit :

Précision : l'id des liens portera toujours le même nom, à savoir "lien".


Pourquoi ?
Est-ce d'ailleurs bien carré le fait de donner à plusieurs objets le même id ?
Administrateur
aCOSwt a écrit :

Est-ce d'ailleurs bien carré le fait de donner à plusieurs objets le même id ?

Non, c'est invalide : un id ne désigne qu'un seul élément dans le document.
Vous avez tous les 2 entièrement raison, des id non uniques ce n'est pas conforme : mon code est erroné. Merci pour cette remarque.

Un très très très GRAND Merci à toi Hacken, car c'est tout à fait la solution que je cherchais depuis 2 jours (je débute en JS) !

Le problème est résolu ! Smiley cligne
Modifié par tulipe_49 (06 Mar 2007 - 11:48)