[Résolu] Multiselect dans un formulaire créé via hook_form()

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 suis entrain de développer un module dans Drupal6 et je rencontre un problème dans un formulaire créé via une implémentation de hook_form().

Je cherche à créer une liste déroulante (select), mais à choix multiples et non pas à choix unique comme le fait l'extrait de code ci-dessous.

  $form['booking_item'] = array(
     '#type' => 'select',
     '#title' => t('Item(s)'),
     '#description' => t('Select the item(s) to book'),
     '#options' => array(
       1 => 'Item A',
       2 => 'Item B',
       3 => 'Item C',
       4 => 'Item D'
     ),
     '#required' => FALSE
  );

Comment puis-je indiquer à Drupal que l'utilisateur peut faire plusieurs choix dans cette liste déroulante ?

D'avance merci !

Forum : 
Version de Drupal : 

Bonjour et bonne année,

Je te conseillerais d'aller voir la prochaine fois ces 2 liens essentiels pour les formulaires :
http://api.drupal.org/api/file/developer/topics/forms_api.html/6
http://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6

Dans ton exemple le select mutiple serait :

$form['booking_item'] = array(
  '#type' => 'select',
  '#title' => t('Item(s)'),
  '#description' => t('Select the item(s) to book'),
  '#options' => array(
    1 => 'Item A',
    2 => 'Item B',
    3 => 'Item C',
    4 => 'Item D'
  ),
  '#required' => FALSE,
  '#multiple' => TRUE
);

L'option #multiple définit le fait d'afficher une liste déroulante simple ou multiple.

Voilà

Matthieu

Bonjour Matt !

Merci pour les bons voeux que je te réciproque bien volontiers ! :-)

Merci pour ton aide, et surtout, merci pour les 2 URL que tu indiques dans ton message, elles sont très intéressantes !

Bonne journée ! :-)