pb liste dérouante

Invité
Invité n'ayant pas de compte PHPfrance

10 juil. 2007, 10:56

Bonjour,

J'ai une liste déroulante dont j'essaye de récupérer les propriétés avec javascript:
<FORM NAME="Choix">
<SELECT id="[blk.#]" onChange="Lien(this.id)">
<OPTION VALUE="http://www.chezmoi.com">Non</OPTION >
<OPTION VALUE="http://www.google.fr">Oui</OPTION >
</SELECT>
</FORM>
Et ma fonction js:
function Lien(item_liste) {

	alert(item_liste); //affichage de l'id de la liste déroulante

	i = item_liste.selectedIndex; //affichage de l'élément sélectionné dans la liste
                alert(i); 
}
Mon problème: alert(item_liste) fonctionne et me renvoie l'id de la liste déroulante, mais alert(i); ne fonctionne pas et me renvoie undefined.
Comment faire pour afficher la valeur sélectionnée dans la liste?

Invité
Invité n'ayant pas de compte PHPfrance

10 juil. 2007, 11:02

j'ai aussi esayé
url = document.item_liste.options[i].value;
alert(url)
je recois toujours
item_liste has no properties

Mammouth du PHP | 19672 Messages

10 juil. 2007, 13:55

Tu cherches un élément de formulaire, alors tu peux pointer dessus d'une autre manière, proposition:

-1- ajoute un identifiant à ta balise form (id="monform")
-2- mets un identifiant valide à ta balise select (id="maliste" et pas [blk.#])
-3- dans ta fonction, récupère l'élément comme ceci :
function Lien(idform, id_liste)
{
    i = document.forms[id_form].elements[id_liste].selectedIndex; //affichage de l'élément sélectionné dans la liste
    alert(i.value); 
}
et pour le formulaire :

Code : Tout sélectionner

<form id="Choix"> <select id="maliste" onchange="if(this.value != '-1'){Lien('Choix', 'maliste');}"> <option value="-1">&nbsp;</option> <option value="http://www.chezmoi.com">Non</option> <option value="http://www.google.fr">Oui</option> </select> </form>
Autre option plus simple :

Code : Tout sélectionner

<form id="Choix"> <select id="maliste" onchange="if(this.value != '-1'){alert(this.value)}"> <option value="-1">&nbsp;</option> <option value="http://www.chezmoi.com">Non</option> <option value="http://www.google.fr">Oui</option> </select> </form>
Essaye ça et reviens nous dire ce qu'il en est.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: