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

Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 09:35 - Dernière réponse : ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention
- 15 févr. 2005 à 10:36
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
Afficher la suite 

12 réponses

Répondre au sujet
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 3 janv. 2005 à 13:59
+3
Utile
à 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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ozitoun
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 3 janv. 2005 à 11:19
0
Utile
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
Commenter la réponse de ozitoun
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 11:48
0
Utile
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)
Commenter la réponse de Gagou_c
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 3 janv. 2005 à 12:02
0
Utile
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
Commenter la réponse de ozitoun
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 12:20
0
Utile
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
Commenter la réponse de Gagou_c
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 3 janv. 2005 à 12:29
0
Utile
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
Commenter la réponse de ozitoun
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 3 janv. 2005 à 12:36
0
Utile
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
Commenter la réponse de ozitoun
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 13:21
0
Utile
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
Commenter la réponse de Gagou_c
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 13:32
0
Utile
j'affiche les informations ( dans un tableau) concernant la rubrique selectionnée ( dans la liste déroulante)
Commenter la réponse de Gagou_c
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 3 janv. 2005 à 14:12
0
Utile
Nickel , merci de ton aide !!
Gagou
Commenter la réponse de Gagou_c
cs_didou8513 58 Messages postés vendredi 1 octobre 2004Date d'inscription 11 mars 2005 Dernière intervention - 15 févr. 2005 à 09:40
0
Utile
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
Commenter la réponse de cs_didou8513
ozitoun 115 Messages postés mardi 1 juin 2004Date d'inscription 25 mars 2008 Dernière intervention - 15 févr. 2005 à 10:36
0
Utile
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
Commenter la réponse de ozitoun

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.