Affichage en fonction d'un menu deroulant ( Merci à vous)

Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007 - 28 déc. 2005 à 15:44
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007 - 2 janv. 2006 à 11:11
Bonjour,
je fais appel à vous car j'ai un petit souci.
Je cherche à partir d'un menu déroulant tres basique :
<select name="liste">
<option value="Film1">La verité si je ment
<option value="Film2">Kill bill
<option value="Film3">Oliver twist
<option value="Film4">Et si c'etait vrai...
</select>


determiner un affichage en fonction du film choisit (simple click sur le menu pour valider)
pour y afficher par exemple un resumer.
l'affichage s'effectura juste en dessous du menu déroulant.
Les recherches et mes réponses que j'ai trouvé me pousse a me servir de javascript (et de la fonction OnChange()) mais, je suis un vrai debutant !
Merci pour votre aide !

Tatoubest

14 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 déc. 2005 à 15:56
Hello,

tes recherches te poussent bien, mais pas assez loin apparemment. Pousse-donc jusque là : www.javascriptfr.com
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
28 déc. 2005 à 15:57
Un post à peu près similaire: http://www.phpcs.com/forum.v2.aspx?ID=626268

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
28 déc. 2005 à 20:59
Bonsoir,
Merci de vos reponse,
un camarade de classe ma envoyer une solution qui fonctionne,
Je vous en fait part :
//code correspondant au menu.
Ajout d'un champs (Preciser le type):
<form NAME="menu">
<select NAME="choix" onChange="change_site();">
<option>
Faites votre choix
</option>
<option>
La verité si je ment
</option>
<option>
Kill bill
</option>
<option>
Oliver twist
</option>
<option>
Et si c'etait vrai...
</option>
</select>
</form>


//voici la fonction à utiliser :

function selection() {

var valeur=document.menu.choix.selectedIndex;
var page="form.php?val="+valeur;
window.location=page;
}

//Ainsi que la gestion de l'affichage
<?php
if(isset($_GET['val'])){
switch ($_GET['val']) {
case 0:
echo "Aucune saisie";
break;
case 1:
echo "Menu déroulant";
break;
case 2:
echo "Bouton radio";
break;
case 3:
echo "Bouton checkbox";
break;
case 4:
echo "Zone de saisie";
break;
case 5:
echo "Zone de saisie multiligne";
break;
}
}
?>

Si quelqu'un savait comment adapté le script php (gestion de l'affichage avec la methode POST ca m'arrangerais).
Cette methode fonctionne tres bien !Merci a toi camarade(^^)
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
28 déc. 2005 à 23:20
Il faut rajouter l'attribut method au formulaire:

<form method='post' ...>

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
29 déc. 2005 à 08:02
Salut buno,
J'ai essayé ce que tu m a dit mais j'ai toujours les parametres qui se placent dans l url, ce que je ne souhaite pas. As tu une idée pour remédier à ce probleme?
Encore merci de ta reponse,
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 déc. 2005 à 09:10
Pas avec POST, impossible.

<form method="post" action="tapage.php">
..
</form>

et tu récupères les valeurs dans $_POST['NomduChamp']
0
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
29 déc. 2005 à 12:51
bonjour malalam,

Pourriez vous etre un peu plus explicite car je ne vois pas comment a partir de $_POST['NomduChamp'], je peux retirer les infos dans l'url.
la modification ne devrait pas plutot se faire dans :
<?php
if(isset($_GET['val'])){
switch ($_GET['val']) {
case 0:
echo "Aucune saisie";
break;
case 1:
echo "Menu déroulant";
break;
case 2:
echo "Bouton radio";
break;
case 3:
echo "Bouton checkbox";
break;
case 4:
echo "Zone de saisie";
break;
case 5:
echo "Zone de saisie multiligne";
break;
}
}
?>

Merci de votre aide,
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 déc. 2005 à 12:57
Ce que je dis, c'est que si ton formulaire utilise la méthode post, tu ne peux pas voir apparaître les valeurs dans l'url, c'est impossible.
Et que pour récupérer des valeurs passées en post à une page, on doit utiliser le tableau $_POST et non pas $_GET comme tu le fais ici.
0
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
29 déc. 2005 à 17:42
Merci de votre reponse,
j'ai refais mon fichier en mettant que des POST.
je vous joint le code :
<html>
<head>
<title>Form_post.php</title>
</head>


form_post.php



Vos films
déroulant




<script>
// fonction
function selection() {
//alert(document.menu.choix.selectedIndex);
var valeur=document.menu.choix.selectedIndex;
var page="form_post.php?val="+valeur;
window.location=page;
}
</script>
<form method='POST' NAME="menu">
<select NAME="choix" onChange="selection();">
<option>
Faites votre choix
</option>
<option>
La verité si je ment
</option>
<option>
Oliver Twist
</option>
<option>
Kill Bill
</option>
<option>
Et si c'etait vrai...
</option>
<option>
Le seigneur des anneaux
</option>
</select>
</form>





<form method="POST" action="form_post.php">
Aimez vous ce film?



<hr>


<!--Affichage de la zone comportant les caracteristiques du film-->


<?php
if(isset($_POST['val'])){
switch ($_POST['val']) {
case 0:
echo "Aucune saisie";
break;
case 1:
echo "Film1";
break;
case 2:
echo "Film2";
break;
case 3:
echo "Film3";
break;
case 4:
echo "Film4";
break;
case 5:
echo "Film5";
break;
}
}
?>

Cependant, je n'ai plus l'affichage (echo "film 1" par exemple).
Deplus, si je valide comme choix le film 2, j'ai mon url qui prend comme adresse
http://localhost/projet/form_post.php?val=1
Ce qui me gene c'est : ?val=1.
J'ai bien vu que ma fonction "seletion" ajoute ce parametre mais meme si je le retire, ca ne fonctionne toujours pas.
Je sais bien que la methode POST a l avantage de ne pas divulger les infos des formulaire dans l'url mais là, je comprend pas...
Encore merci de votre soutien !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 déc. 2005 à 18:09
Evidemment que tu les as dans ton url, c'est ta fonction javascript qui fait ça.
D'ailleurs elkle ne sert à rien...

mets des valeurs à tes options : <option value="0">...</option>, <option value="1">...</option> etc...en fonction de tes switch.
Puis sur l'évènement onchange, fais ceci :
onchange="this.form.submit();"
Ensuite, tu fais ton switch non pas sur $_POST['val'] mais sur $_POST['choix'] (le nom de ton select).
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
29 déc. 2005 à 19:07
" var page="form_post.php?val="+valeur;"

Bah ui, pourtant c'est simple à voir :p
0
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
29 déc. 2005 à 19:08
Merci beaucoup malalam !
Ca fonctionne impec !
Une derniere precision, lorsque je valide, la question : Aimez vous ce film?
je fais apparaitre la reponse en dessous , mais apres avoir validé le choix du film( echo "film 1" ), l'affichage est ecrasé.
comment remedier a ce probleme ? est ce au niveau de :
window.location=page;

Encore un grand merci pour la qualité de vos reponses !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 janv. 2006 à 09:35
Tu es pénible avec ton javascript ;-)

Montre ton nouveau code...on va voir ce qu'on peut faire (et éradiquer tout js...)
0
Tatoubest Messages postés 28 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 17 août 2007
2 janv. 2006 à 11:11
en fait c'est bon j'avais trouvé....
desoler du derangement...
Et encore merci de m'avoir aidé !
0
Rejoignez-nous