Récupérer index et valeurs d'une liste déroulante

Signaler
Messages postés
13
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
4 septembre 2009
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,
Je voudrais récupérer dans des variables l'index et la valeur des éléments d'une liste déroulante. pour les utiliser dans un script PHP.
Pour l'instant j'ai ceci qui m'affiche l'index correctement avec IE6 ou IE7 mais qui cafouille avec FF3.j'ai le sablier en permanence.
Pour mes tests  j'utilise Wamp en local.

<html>
<head>
<script type="text/javascript">
function recup(){
var index = document.getElementById('idcouleur').selectedIndex;
var valeur =.........
 document.write(index) ;
 document.write(valeur);
}
</script>
</head>
 
 
     <form     action="#" name="monform"  >
     <label>Couleur</label>
    <select   onclick="recup()" var name="liste"  id="idcouleur">
           <option ></option>
           <option value="noir">noir</option>
           <option value="ivoire">ivoire</option>
           <option value="jaune">jaune</option>
           <option value="rouge">rouge</option>
       </select>

        </form>              

</html>

Je n'arrive pas à saisir la bonne formule pour avoir la valeur  correspondant à l'index  ; j'ai essayé quelques combinaisons sans succès. Si quelqu'un voulait bien comléter la ligne du script!!!
Comment ensuite récupérer les variables.
Merci de votre aide et cordialement.
 
perpezat

6 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
pour la récupération il y a une syntaxe
qui est universelle à savoir

//-- Recup de l'objet SELECT

var O_Select = document.getElementById('idcouleur');
//-- Recup de l'index selectionne
var index =
O_Select.selectedIndex;
//-- Recup de la valeur de
l'OPTION selectionnee
var valeur = O_Select.options[index].value;

//-- Recup du texte de l'OPTION selectionnee

var texte = O_Select.options[index].text;

<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, avec FF3.j'ai le sablier en
permanence</td>
</td></tr></tbody></table>Ca
c'est l'effet
document.write(index) qui efface le contenu de ton document et le
remplace par index, la fonction ne sait donc plus ou revenir...soit dit en
passant IExplorer doit faire la gu...e.

;O)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
Bonjour,
si tu n'es pas convaincu,
après l'exécution, affiche la source    ( affichage / Source )
        tu vas te retrouver avec une page qui contient : "0...."
Cordialement
Messages postés
13
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
4 septembre 2009

bonjour,
Merci pour vos réponses.
j'ai fait la manip proposée par Bul3 et le résultat n'est pas celui qu'il m'indique. Voici ce que j'ai avec IE 7 et IE8 
index 4<br>couleur rouge

Que faut-il ajouter au script  sous FF3 pour un retour correct de la fonction.

perpezat
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
>>le résultat n'est pas celui qu'il m'indique
parce que ton javascript ne correspond pas à celui que tu nous a montré
>>Que faut-il ajouter au script
il ne faut rien ajouter, il faut retirer le document.write
le remplacer par alert ou tout autre solution
pour afficher ( au moins durant les tests )
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
et relire ce que disait petoleTeam.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
Je plussoie les écrits de TheBultez...
;O°)