[WB11] Passer une variable webdev à GetElementById()

Le
paratge
Bonjour,

Dans une recherche plein texte, je surligne les mots qui doivent l'être
et je les transforme en lien pour afficher une description de ce mot.

J'ai attribué un id au lien (je ne sais pas si cette pratique est bien
licite en javascript) qui est identique au mot trouvé, de façon à en
récupérer la valeur au onmouseover, afin de pouvoir le transmettre au
serveur pour effectuer ma recherche dans la DB.

J'ai mis une alerte pour voir si je récupérais bien ma valeur, mais tout
ce que j'obtiens c'est "undefined".

Comment passe-t-on une variable à GetElementByid() ?

Voici le code de ma fonction :
function TrouveId(sMot)
{
this.sMot = sMot
var obj = document.getElementById(this.sMot)
alert('le champ a pour valeur : "'+obj.value+'"')
}


Merci d'avance pour votre temps.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
b.engelmajer
Le #18393621
On peut faire plus simple en transmettant simplement le contenu de la
balise lien (<a></a>) avec innerHTML.

<HTML>
<HEAD>
<TITLE> Test </TITLE>
</HEAD>
<BODY>
<hr>
<div id=trace></id>
</BODY>
<script>
function dico( sMot )
{
document.getElementById('trace').innerHTML = sMot;
}
</script>
</HTML>
b.engelmajer
Le #18393851
En fait, il suffit de passer this à la fonction qui utilisera les
valeurs utiles de l'objet comme innerHTML ou href.

<HTML>
<HEAD>
<TITLE> Test </TITLE>
</HEAD>
<BODY>
a>
<a onmouseover="dico(this);">deux</a>
<a onmouseover="dico(this);">trois</a>
<hr>
<div id='texte'></div>
<div id='lien'></div>
</BODY>
<script>
function dico( sMot )
{
document.getElementById('texte').innerHTML = sMot.innerHTML;
document.getElementById('lien').innerHTML = sMot.href;
}

</script>
</HTML>
paratge
Le #18394291
a écrit :
En fait, il suffit de passer this à la fonction qui utilisera les
valeurs utiles de l'objet comme innerHTML ou href.

<HTML>
<HEAD>
<TITLE> Test </TITLE>
</HEAD>
<BODY>
a>
<a onmouseover="dico(this);">deux</a>
<a onmouseover="dico(this);">trois</a>
<hr>
<div id='texte'></div>
<div id='lien'></div>
</BODY>
<script>
function dico( sMot )
{
document.getElementById('texte').innerHTML = sMot.innerHTML;
document.getElementById('lien').innerHTML = sMot.href;
}

</script>
</HTML>



Merci pour ces précisions,

Mais, ce que je n'ai pas dit est la manière dont je génère le lien,
(parcequ' en réalité, malgré tes précisions, j'ai toujours undefined :( )

voila la procédure qui génère le lien : c'est peut être là que je patine...

POUR TOUTE CHAINE sMotclé DE sChaine SEPAREE PAR " "

HLitRecherche(MOTCLE,Mot,Majuscule(sMotclé),hIdentique)
SI HTrouve ALORS
sMotImportant = "<b style=""color:black;background-color:#ffff66"">"
+"<a href=""
onclick=""window.ExecuteLien('IFRM_LOAD_FF,PageDico.BTN_OK');""
onMouseOver=""TrouveId(this.innerHTML);"">" + sMotclé + "</b></a>"
sChaine = Remplace(sChaine,sMotclé,sMotImportant)
i++
FIN
FIN

RENVOYER sChaine


Le principe est de récupérer le mot surligné par cette fonction, pour
afficher la légende dans une cellule rendue visible après avoir trouvé
le contenu dans la DB grace à sMotClé.
paratge
Le #18394281
a écrit :
En fait, il suffit de passer this à la fonction qui utilisera les
valeurs utiles de l'objet comme innerHTML ou href.

<HTML>
<HEAD>
<TITLE> Test </TITLE>
</HEAD>
<BODY>
a>
<a onmouseover="dico(this);">deux</a>
<a onmouseover="dico(this);">trois</a>
<hr>
<div id='texte'></div>
<div id='lien'></div>
</BODY>
<script>
function dico( sMot )
{
document.getElementById('texte').innerHTML = sMot.innerHTML;
document.getElementById('lien').innerHTML = sMot.href;
}

</script>
</HTML>



Merci pour ces précisions,

Mais, ce que je n'ai pas dit est la manière dont je génère le lien,
(parcequ' en réalité, malgré tes précisions, j'ai toujours undefined :( )

voila la procédure qui génère le lien : c'est peut être là que je patine...

POUR TOUTE CHAINE sMotclé DE sChaine SEPAREE PAR " "

HLitRecherche(MOTCLE,Mot,Majuscule(sMotclé),hIdentique)
SI HTrouve ALORS
sMotImportant = "<b style=""color:black;background-color:#ffff66"">"
+"<a href=""
onclick=""window.ExecuteLien('IFRM_LOAD_FF,PageDico.BTN_OK');""
onMouseOver=""TrouveId(this.innerHTML);"">" + sMotclé + "</b></a>"
sChaine = Remplace(sChaine,sMotclé,sMotImportant)
i++
FIN
FIN

RENVOYER sChaine


Le principe est de récupérer le mot surligné par cette fonction, pour
afficher la légende dans une cellule rendue visible après avoir trouvé
le contenu dans la DB grace à sMotClé.
Publicité
Poster une réponse
Anonyme