Formulaire en php

  • Auteur de la discussion Auteur de la discussion DISCRET
  • Date de début Date de début
WRInaute discret
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.
 
WRInaute discret
utilise la technologie Ajax ;)

ou en clair : xmlHttpRequest

C'est du javascript, et ca reste simple d'utilisation !
 
WRInaute discret
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 :(
 
WRInaute occasionnel
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 ;)
 
WRInaute discret
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 ?
 
WRInaute occasionnel
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.
 
WRInaute occasionnel
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 ;)
 
WRInaute discret
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-
 
WRInaute passionné
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. ?
 
WRInaute occasionnel
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.
 
WRInaute passionné
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.
 
WRInaute occasionnel
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...
 
WRInaute passionné
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