formulaire avec option

Eléphant du PHP | 170 Messages

10 janv. 2008, 13:57

Bonjour a tous,
je voudrais réaliser un tableau de choix avec plusieurs formulaires. Mais je voudrais que suivant le choix du premier champs de formulaire, le deuxieme me propose telle ou telle option.
Prenons un exemple:
Le premiere choix : voiture ou moto.
Si vous choisissez voiture je voudrais que les options du second formulaire s'adaptent a ce choix, par exemple que l'on puiss choisir une cylindrée de 1100,1300 ou 1400cm3 alors que si j'avais choisi moto j'aurais le choix de 600,700,...

Mais je voudrai realiser cela sans regeneration de page, est ce possible et comment?

Mon autre question est peut ton griser une formulaire suivant l'option choisit sur un formulaire precedent

Merci a ceux qui prendrons le temps de me repondre, et aussi à ceux qui prendrons au moin la peine de me lire et qui comme ne comprendrons rien!!!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

10 janv. 2008, 14:07

Modération :

chris51200, le forum FAQ contient des explications détaillées sur ce sujet :
:arrow: Formulaires : Listes déroulantes dynamiques liées

Vérifier dans la FAQ ou faire une petite recherche préalable n'est pas superflu.


Pour le "grisé" tu dois te tourner vers le CSS

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 170 Messages

11 janv. 2008, 20:54

merci de vos reponse mais ce n'est pas ce que je voulais en tout cas pas exactment!
donc je le refais:

j'ai un choix avec deux formulaire a choix multiple qui sont destiner a faire une selcetion d'objet dans une fourchette de prix (de 50 à 200euros par exemple ). Dans le premier je choisi mon prix mini et de lautre mon prix maxi.
Les options de prixmini : 0,50,100,150,200,250,....
les options du prix maxi : 100,150,200,250.

ce que je ne veux pas c'est que l'utilisateur puisse indiquer un prix mini à 200euros et un prix maxi à 150€!

je souhaite egalement que les deux formulaire s'affichent en meme temps

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 janv. 2008, 21:47

Bah ca marche bien pourtant.. si l'utilisateur sélectionen 150 dans le premier champ, tu met à jour le 2nd avec seulement des valeurs supérieures à 150... mais c'est vrai que c'est un peu usine à gaz pour pas grand chose :)

Déjà, pour parler le même langage, il te faut un formulaire (et un seul) contenant les différents champs qui seront envoyés en même temps au serveur lorsque l'utilisateur soumettra le formulaire.

La version simple php, tu laisses l'utilisateur saisir ce qu'il veut, et quand il valide le formulaire tu contrôle que les valeurs sont cohérentes en php ($champ1 <= $champ2), sans quoi tu lui colles un message d'erreur et il recommence jusqu'à ce qu'il ait compris ;)

Solution simple javascript, même contrôle mais en javascript lorsque l'utilisateur soumet le formulaire. La réaction est immédiate, c'est plus confortable pour l'utilisateur, mais ça ne dispense pas d'un contrôle php sur le serveur (l'utilisateur pouvant désactiver javascript ou bidouiller les valeurs envoyées).

La solution - plus complexe - qui correspondrait à ton besoin serait une fonction javascript qui lorsque l'on change une valeur dans un des select, mettrait à jour l'autre en supprimant ou ajoutant toutes les options dont la valeur est inférieur/supérieur à la valeur sélectionnée... ça ne dispense pas du contrôle php :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 170 Messages

11 janv. 2008, 22:14

merci Ryle,
je vais lui coller un message d'erreur c'est le plus simple
Merci!