Joomlagora

 
  • Increase font size
  • Decrease font size
  • Default font size
Login
Ouvrir compte ? Enregistrez-vous
Accueil arrow Développement arrow Exemples de codes arrow Gérer une liste à choix multiples

Gérer une liste à choix multiples

Écrit par globule 21-04-2007
Combien d'entre nous se sont pris la tête pour gérer des listes à choix mutiples dans un formulaire?
Bien sûr cela semble simple, sauf si vous voulez valider le formulaire en Javascript...
Dans un formulaire, un champ contenant plusieurs valeurs doit avoir des crochets en suffixe pour que le code PHP qui traitera le formulaire puisse récupérer le tableau passé en $_POST.
Exemple

C'était la première chose importante.
Les soucis commencent si vous voulez vérifier qu'un choix a bien été fait. La seule façon de le faire avant la validation du formulaire est d'utiliser le Javascript. Mais JS n'aime pas les "[]", et si vous les enlevez, le code PHP qui traitera le formulaire ne récupérera pas les données de ce champ!!!
Ma solution est d'utiliser un champ texte caché dont la valeur sera définie par le JS. Ce champ contiendra la liste des choix séparés par une virgule. De cette façon, vous n'avez pas besoin des crochets car PHP obtiendra une simple chaine de caractères et non un tableau.
1. Le formulaire :

2. La liste:

3. Le champ texte caché

4. Le bouton de validation avec le contrôle déclenché si on clique

5. Et finalement le JavaScript

Mais maintenant, comment récupérer ces données en PHP?
Voici comment :
Et voilà!

Il peut y avoir quelques erreurs dans ce code car j'y ai apporté des modifications pour plus de lisibilité.

Joomlagora