affichage en fonction d'un select

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
je dois faire un formulaire assez complexe
l'entête comportant plusieurs champs ne change jamais mais le reste du formulaire est différent en fonction du select
dans le site de base, du javascript permet d'afficher tel ou tel div suivant le select. Là avec Drupal je bloque, j'ai fait le début du formulaire avec le module webform mais c'est tout...
je ne sais pas si je dois afficher un select et ensuite afficher un formulaire en fonction de l'option, ce qui m'obligerait à faire une dizaine de formulaires différents, toujours avec les mêmes 5 ou 6 champs du départ, si je dois faire des vues, des blocs, des nodes... bref avez vous une piste? please please

Forum : 
Version de Drupal : 

Salut,

Si tu veux vraiment avoir le contrôle de ton formulaire, tu as intérêt à le créer via la Form API, c'est à dire, en écrivant du code PHP qui te permettra de fabriquer ton formulaire.

Tu contrôleras ton formulaire à 100% et la logique est assez proche des formulaires en HTML. Voir http://api.drupal.org/api/file/developer/topics/forms_api.html/5 pour plus d'infos.

Merci encore une fois Vincent!
j'étais en train de m'y attaquer! si j'ai tout bien compris je dois créer mon formulaire à l'intérieur d'un nouveau module. C'est bien ça?

C'est plus propre de le faire dans un module, en effet. Mais si ça te paraît trop compliqué, tu peux toujours déclarer le code de ton formulaire dans une page qui a le format d'entrée "PHP Code".

Simplement, c'est plus facile de débugger le code PHP saisi dans un éditeur que dans un champ texte de ton navigateur.

Et puis, ensuite, tu risques d'ajouter du code pour le traitement du formulaire, donc au final, mieux vaut un module.