OVH Cloud OVH Cloud

Faire agir une liste déroulante depuis un lien

6 réponses
Avatar
adrien.nicolet
Bonjour!

Mon probl=E8me est le suivant:

J'ai un lien classic (<a href=3D"?">Documents</a>) qui doit faire agir
une liste d=E9roulante sur la m=EAme page.

Que faut-il mettre dans la balise href (=E0 la place du ?) pour que
l'=E9l=E9ment s=E9lectionn=E9 dans la liste d=E9roulante change?

J'ai trouv=E9 un exemple de site o=F9 il le faisait comme suit:

<a href=3D"javascript:document.Form76.submit()">

mais je ne comprend absolument pas ce que document.Form76.submit()
signifie...

Merci beaucoup pour votre aide!!

Adrien Nicolet

6 réponses

Avatar
ASM
wrote:
Bonjour!

Mon problème est le suivant:

J'ai un lien classic (<a href="?">Documents</a>) qui doit faire agir
une liste déroulante sur la même page.

Que faut-il mettre dans la balise href (à la place du ?) pour que
l'élément sélectionné dans la liste déroulante change?


quoi quoi qu'elle doit faire la liste ?

<html>
<a href="#" onclick="document.form1.choix_menu.selectedIndex=2">3</a>
<a href="#" onclick="document.form1.choix_menu.selectedIndex=1">2</a>
<form name="form1" action="page.htm" method="get">
<select name="choix_menu">
<option selected>menu
<option value="p1.htm">menu 1
<option value="p2.htm">menu 2
<option value="p3.htm">menu 3
<option value="p4.htm">menu 4
</select>
<input type=submit value="GO">
</form>
</html>


<a href="javascript:document.Form76.submit()">

mais je ne comprend absolument pas ce que document.Form76.submit()
signifie...


çà fait ce qu'il est dit dans l' action
du formulaire nommé 'Form76'

ça submite(*) (soumet / envoie) le formulaire désigné

(*) submiter = verbe francisé de 'to submit'



--
Stephane Moriaux et son [moins] vieux Mac

Avatar
adrien.nicolet
Merci, maintenant j'y voix déjà un peu plus clair! Mais il y a
toujours un problème: RIEN NE SE PASSE... Pourtant aucune erreur de
javascript n'est indiquée dans la console javascript de Firefox.

voici comment se présente ma liste dans le code html de la page
"index.asp" :

<form name="form1" method="post" action="index.asp">
<select name="page" onChange="submit()">
<option selected value="0">Vue générale</option>
<option value="1">Documents</option>
<option value="2">Modifiez votre profil</option>
</select>
</form>

J'ai donc écrit le lien suivant:

<a href="#" onClick="document.form1.page.selectedIndex=1">

Mais là, rien ne se passe, c'est à dire qu'aucun changement ne se
fait dans la liste...Comment faire?

Encore merci pour toute aide!

Adrien
Avatar
adrien.nicolet
Pardon, je rectifie:

l'élément sélectionné de la liste change, mais j'ai l'impression
qu'il n'est pas validé! Car aucune actualisation ne se produit! Il y a
simplement une autre valeur affichée sur cette liste... On dirait donc
que le onChange="submit()" n'ait aucun effet...
Comment est-il possible de réactualiser l'élément sélectionner
automatiquement?

Merci pour vos réponses!
Avatar
ASM
wrote:
Pardon, je rectifie:

l'élément sélectionné de la liste change, mais j'ai l'impression
qu'il n'est pas validé! Car aucune actualisation ne se produit! Il y a
simplement une autre valeur affichée sur cette liste... On dirait donc
que le onChange="submit()" n'ait aucun effet...


je suis désolé mais çà fonctionne impec

essaie :

<html>
<form action="" target="_blank">
<select name="truc">
<option>0
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
</select>
<input type=reset value=RAZ>
<input type=submit value=GO>
</form>
<a href="#" onclick="document.forms[0].truc.selectedIndex=3">voir 3</a>
</html>

et regarde l'url envoyée (dans la nvelle fenêtre)
j'obtiens bien : balabla.htm?truc=3

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
ASM
ASM wrote:

</form>
<a href="#" onclick="document.forms[0].truc.selectedIndex=3">voir 3</a>
</html>


et si le lien doit *aussi* submiter :

<a href="#" onclick="with(document.forms[0]) {
truc.selectedIndex=3
submit();
}">voir 3</a>


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
adrien.nicolet
Merci 1000 fois, c'est exactement ce que je cherchais à faire!