Formulaire en php

  • Auteur de la discussion Auteur de la discussion DISCRET
  • Date de début Date de début
Bonsoir,

je tente de créer un formulaire mais je ne sais pas du tout comment faire une partie.

J'ai fait une liste déroulante
Code:
<select name="marque" size="1">
<option value="AC">AC</option>
<option value="Aixam">Aixam</option>
<option value="Alfa Roméo">Alfa Roméo</option>
<option value="Alpina">Alpina</option>

je souhaiterais dans la même page du formulaire récupérer le résultat du code ci dessus et afficher en dessous une autre liste de choix.

Exemple : dans la première liste je choisis "PEUGEOT" et je voudrais que la deuxième liste soit les différents modèles de la marque sélectionnée.
 
utilise la technologie Ajax ;)

ou en clair : xmlHttpRequest

C'est du javascript, et ca reste simple d'utilisation !
 
Dmx a dit:
utilise la technologie Ajax ;)

ou en clair : xmlHttpRequest

C'est du javascript, et ca reste simple d'utilisation !

merci, mais le problème, c'est que ça va être pour mon entreprise et je peux pas me permettre de me passer de la partie des gens qui refuse javascript :(
 
Je ne vois pas comment tu peux faire cela sans JavaScript et uniquement en Php. A moins bien entendu, de faire ton formulaire en plusieurs pages.
Le cas contraire, je ne vois pas comment le code php peut s'exécuter "en live", au déroulement d'un menu.

En tout cas si tu trouves le moyen de le faire, je te serai très reconnaissant de me dire comment car j'en rêve ;)
 
CaYuS a dit:
Je ne vois pas comment tu peux faire cela sans JavaScript et uniquement en Php. A moins bien entendu, de faire ton formulaire en plusieurs pages.
Le cas contraire, je ne vois pas comment le code php peut s'exécuter "en live", au déroulement d'un menu.

En tout cas si tu trouves le moyen de le faire, je te serai très reconnaissant de me dire comment car j'en rêve ;)

donc en gros je fais le premier formulaire, à la fin du choix de la marque je mets un bouton valider qui va renvoyer à une autre page mais avec exactement le même formulaire et les même infos mais en plus la liste pour le modèle, c'est ça ?
 
Je te propose de considérer une page php avec des conditions (ce n'est qu'une proposition).

Par défaut :
==> Ton menu déroulant principal (A).
==> Bouton suivant

Si A rempli :
==> Affichage en clair de la valeur de A
==> Sous menu déroulant (B)
==> Tes autres champs de formulaire
==> Bouton précédent : Retour vers A
==> Bouton suivant

Si A & B rempli :
==> Bravo, formulaire rempli avec succès

Cela étant dans le cas où tu veux absolument le faire en php et qu'il n'y ait qu'un sous menu B sélectionnable, et en rapport avec le choix de A.
 
Pas tellement, vu qu'il faut appuyer sur le bouton "envoyer" pour traiter le résultat.
Après que ça revienne sur la même mise en page ou sur une mise en page différente, cela ne change rien.
Ce que tu cherchais, du moins à ce que j'en ai compris, c'était que lorsqu'on fait dérouler le menu, le sous menu se mette à jour automatiquement SANS avoir besoin de recharger la page.
Mais après, j'ai peut être mal compris ;)
 
non tu avais bien compris :)

regardes le formulaire et dis moi quelle solution serait la meilleure, ça m'aiderait beaucoup ;)
-http://lelogiciellibre.net/entreprise/formulaire.php-
 
CaYuS a dit:
Pas tellement, vu qu'il faut appuyer sur le bouton "envoyer" pour traiter le résultat.
Après que ça revienne sur la même mise en page ou sur une mise en page différente, cela ne change rien.
Ce que tu cherchais, du moins à ce que j'en ai compris, c'était que lorsqu'on fait dérouler le menu, le sous menu se mette à jour automatiquement SANS avoir besoin de recharger la page.
Mais après, j'ai peut être mal compris ;)

Je suis aussi confronté au problème et je ne veux pas de javascript.

J'en était arrivé à la conclusion que cela n'était pas possible sans recharger la page, et je vois que je me suis donné la bonne réponse.

Maintenant une question : comment faire pour éviter de cliquer sur un bouton pour afficher l'autre liste.

Je veux dire tu clique sur un choix de la liste déroulante, et il affiche l'autre liste. ?
 
Discret :
Quelle solution serait la meilleure ? Entre conserver la mise en page ou en faire une autre ?
A toi de voir ... personnellement j'aime autant en deux temps, donc avec une mise en page différente, mais c'est un choix personnel ;)

Maintenant une question : comment faire pour éviter de cliquer sur un bouton pour afficher l'autre liste.
Tu charges une fonction javascript grâce à un OnChange sur ton menu déroulant .
Cette fonction annalyse une variable, et affiche un sous menu en conséquence (visible) et cache les autres (hidden), ou les rend grisâtre.
Enfin, c'était une possibilité que j'avais trouvé pour ce genre de problèmes.
 
Pour moi, je préfèrerais une fonction sans passer par Javascript afin de garder l'accessibilité du site.

Ou alors, comme je sais dès le départ si le javascript est activé ou non (récupération de la largeur de la fenêtre), je peux faire une condition sans bouton de validation si le Javascript est activé, et une en pur PHP pour le cas contraire.

Merci.
 
Perso, je fais un truc du genre:
Code:
<select ... onchange="javascript:this.form.submit()">
<option ...>
</select>
<noscript>
<input type="submit"/>
</noscript>
Le boutton submit ne s'affiche pas si le javascript est supporté.
Par contre, je ne suis pas sûr que ce soit valide XHTML...
 
Blini a dit:
Perso, je fais un truc du genre:
Code:
<select ... onchange="javascript:this.form.submit()">
<option ...>
</select>
<noscript>
<input type="submit"/>
</noscript>
Le boutton submit ne s'affiche pas si le javascript est supporté.
Par contre, je ne suis pas sûr que ce soit valide XHTML...

Je testerais, car il faut que ce soit compatible en xhtml strict.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut