Submitted by awan on
Salut les amis,
Je dois créer un formulaire et y doit mettre un peu de dhtml pour les raisons suivantes :
1) Sur clique/sélection d'un checkbox un champs/textfield doit apparaitre, et sur déselection elle doit disparaitre.
2) Sur clique/sélection d'un checkbox un groupe de radiobuton doit apparaitre, et sur déselection il doit disparaitre.
J'ai créé mon formulaire avec le module "webform" mais je ne vois pas comment je peut y intégrer le dhtml.
Comment est-ce que je peux faire cela ?? Une idée??
Est-ce que je doit utiliser les forms APIs? Si oui est-ce qu'il y a documentation en français ?
Toute aide sera apprécié
Hello, A priori, tu peux
Permalien Soumis par drupalfrance le 23 Avril, 2007 - 20:31
Hello,
A priori, tu peux t'en sortir uniquement avec du JavaScript :
1) Tu crées un fichier JavaScript qui contient le code qui fait ce que tu veux. Ce code s'exécutera automatiquement au chargement de la page (événement "onload") et détectera les champs de formulaires appropriés dans le DOM. Il interceptera l'événement "onclick" de ces champs pour déclencher les opérations appropriées (affichage/masquage).
(Si tout ça te paraît compliqué, fais une recherche Google. C'est du JavaScript, pas du Drupal.)
2) Ensuite, il faut référencer le fichier JavaScript dans les pages de ton site. Le plus simple est d'éditer le fichier page.tpl.php de ton thème en rajoutant la ligne suivante quelque part à l'intérieur des balises <head> ... </head> :
<script type="text/javascript" src="mon_fichier.js"></script>
Cette technique s'appelle du "JavaScript non obtrusif" (cf. http://www.webreference.com/reviews/dom_scripting/).
PS. Il existe aussi un module qui ermet d'injecter du JavaScript dans les formulaires sans taper de code JavaScript proprement dit. Mais il implique de créer le formulaire en question via la FORM API : il s'agit de http://drupal.org/project/ahah_forms