MAJ tableau en fonction de la valeur d'une liste déroulante [Résolu]

Signaler
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006
-
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008
-
Bonjour,
Je voudrais afficher des informations dans un tableau, en fonction de la valeur d'une liste déroulante.
Il faudrait que je mette à jour la page au changement de valeur de la liste;
Mais comment faire ?
j'ai essayé de bidouiller avec un " Onchange" mais sans succes, je dois mal m'y prendre.
Quelqu'un peut il m'aider ?!
Merci

12 réponses

Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

à ce moment là tu fais comme suit... :
ton script onChange en fait recharge la page avec la variable de la liste déroulante tapage.php?rubrique1=VarRubrik

tu a donc de dispo ta variable rubrique1 disponible pour le php et faire ta requête pour afficher la bonne liste déroulante mise à jour

<head><SCRIPT>
function Lien() {
i = document.Choix.Liste.selectedIndex;
if (i == 0) return;
VarRubrik= document.Choix.Liste.options[i].value;
location.href("tapage.php?rubrique1="+VarRubrik);

}
</script></head>





<FORM NAME="Choix">
<SELECT NAME="Liste" onChange="Lien()">
<OPTION VALUE="">Choisir une option
<OPTION VALUE="variab01">Les copains
<OPTION VALUE="variab02">La plongée
<OPTION VALUE="recherche/'>variab03">Recherche
</SELECT>
</FORM>


ça devrait marcher ce coup-ci... j'ai testé !

Zitoun
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

c'est plutôt une histoire de javascript... ça donnerai ça avec effectivement un onchange et ça marche

A foutre en haut de page :

Code :

<LI><script language="JavaScript" type="text/JavaScript">
<LI><!--
<LI>function AllerA(targ,selObj,restore){
<LI> eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
<LI> if (restore) selObj.selectedIndex=0;
<LI>}
<LI>//-->
<LI></script></LI>


ton formulaire avec les éléments dynamiques :

Code :

<LI><form name="form1">
<LI> <select name="menu1" onChange="AllerA('parent',this,0)">
<LI> <option value="URL1" selected>Element1</option>
<LI> <option value="URL2">Element2</option>
<LI> </select>
<LI></form></LI>


Où "URL1 / URL2" et "Element1 / Element2" peuvent être récupéré d'une base de donnée.

_______________
Zitoun
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

merci j'ai essayé mais il me manque un dernier truc, récupérer la valeur de la liste déroulante.
Mais je n'y arrive pas, avec rubrique.value (rubrique c le nom de ma liste déroulante)ça ne marche pas.
un dernier petit coup de main ?! (enfin j'espère)
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

Yop...
pour une liste déroulante, pour récupérer la variable faut faire autrement :

rubrique.selectedIndex;
ou
rubrique.options[i].value;

selon ce que tu veux récuperer... les élément de la liste ou les value associées
avec ça tu devrais t'en tirer

Zitoun
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

en fait je voudrais enregistrer la valeur de la liste déroulante dans une varible pour la réutiliser dans mes requetes. Mais lorsque je fais
 $rubrique1 = rubrique.selectedIndex; 


ça ne marche pas, si j'essaye de l'afficher pour voir sa valeur, il affiche "selectedIndex"
donc voila, il y a surement une erreur de récupération ou de syntaxe.
Merci
Gagou
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

attention, rubrique.selectedIndex c'est du javascript pas du php !

tu dois d'abord créer ta variable dans du javascript avant de la réutiliser dans du php

Zitoun
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

comme ça.... ta variable rubrique1 est créée

<head>
<title>Liste déroulante et javascript</title>
<script type="text/javascript"><!--
function ChangeUrl(formulaire){
if (formulaire.ListeUrl.selectedIndex != 0){
rubrique1 = formulaire.ListeUrl.options[formulaire.ListeUrl.selectedIndex].value;
}
else{
alert('Veuillez choisir une destination.');
}
}
// --></script>
</head>

<form id="destination" >
<select id="ListeUrl" SIZE=1 onchange="ChangeUrl(this.form)">
<option selectED value="">-Selectionnez votre destination-</option>
<option value="valeur1"> txt1</option>
<option value="valeur2"> txt2</option>
<option value="valeur3"> txt3</option>
</select>
</FORM>


Zitoun
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

oui mais du coup la fonction

<LI><script language="JavaScript" type="text/JavaScript">
<LI><!--
<LI>function AllerA(targ,selObj,restore){
<LI> eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
<LI> if (restore) selObj.selectedIndex=0;
<LI>}
<LI>//-->
<LI></script></LI>
elle ne sert plus à rien, je ne l'utilise plus sur le Onchange, donc la page n'est plus mise à jour.
Je suis désolée mais je débute et je comprend pas tout.
Je réexplique :
->Je change la valeur de ma liste déroulante
-> Je récupère la valeur de la liste pour la passer dans me requetes
-> Et j'affiche les informations concernant la rubrique selectionnée dans la liste déroulante.
Et tou ça sur la même page. ( et si la valeur est de nouveau changée la page est réactualisée.
merci
Gagou
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

j'affiche les informations ( dans un tableau) concernant la rubrique selectionnée ( dans la liste déroulante)
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

Nickel , merci de ton aide !!
Gagou
Messages postés
58
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
11 mars 2005

Bonjour, j'ai un peu le même problème, sauf que moi j'ai plusieurs listes déroulantes, car avant de sélectionner le critère dans la liste déroulante l'utilisateur doit choisir un un 1er critère de recherche avec des boutons radio. Suivant le bouton choisi, une liste déroulante s'affiche. Bien sur chaque liste est différente. Pour lancer la recherche j'utilise un submit. Ensuite j'aimerais pouvoir retourner à l'écran de recherche, refiltrer mes résultats sur ceux que j'ai obtenu auparavant. Si quelqu'un peut m'aider, merci
Messages postés
115
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
25 mars 2008

C'est le même principe mais dans la fonction lien tu vas utiliser :
if (radio[i].checked)

exemple :
<FORM>
Windows 95
Windows 98
Windows NT
Linux
Autre


<SCRIPT language="javascript">
function testerRadio(radio) {
for (var i=0; i<radio.length;i++) {
if (radio[i].checked) {
alert("Système = "+radio[i].value)
}
}
}
</SCRIPT>

Zitoun