Manual:HTMLForm Tutorial 3/fr

Il est possible de générer n'importe quel type de champ avec HTMLForm; les options spécifiques à chaque champ sont décrites ici. Les options génériques (celles qui se rapportent à tous les champs) sont décrites dans le Tutoriel 2.

Introduction
Dans $formDescriptor, il existe deux manières de déclarer un type de champ : par la class ou par le type.

L'attribut class
Vous pouvez d'abord initialiser l'attribut class (ne mélangez ni ne confondez pas avec cssclass)


 * HTMLTextField: Un champ texte simple.
 * HTMLFloatField: Un champ texte simple avec un nombre flottant validé
 * HTMLIntField: Un champ texte simple avec un nombre entier validé
 * HTMLUserTextField: Un champ texte simple pour les noms d'utilisateur
 * HTMLTextAreaField: Un champ texte étendu
 * HTMLSelectField: Un menu déroulant vers le bas
 * HTMLSelectOrOtherField: Un menu déroulant vers le bas avec une option 'autre' contrôlant un champ texte simple
 * HTMLSelectAndOtherField: Un menu déroulant vers le bas et un champ texte simple
 * HTMLMultiSelectField: Liste de cases à cocher
 * HTMLRadioField: Boutons radio
 * HTMLCheckField: Case à cocher unique
 * HTMLCheckMatrix: Matrice à deux dimensions de cases à cocher
 * HTMLInfoField: Simplement du texte sans entrée possible
 * HTMLSubmitField: Bouton submit supplémentaire (HTMLForm affiche toujours un bouton par défaut)
 * HTMLHiddenField: Champ caché (données à ne pas envoyer; elles ne sont pas affichées ni modifiées)
 * HTMLTagFilter: Filtre de balises
 * HTMLSizeFilterField: Filtre de la taille du fichier
 * HTMLUsersMultiselectField: Selectionner plusieurs utilisateurs
 * HTMLTitleTextField: Boîte de texte pour récupérer le nom de la page
 * HTMLDateTimeField: Sélecteur de date et d'heure

L'attribut type
Dans la partie précédente nous avons utilisé class; ici nous allons utiliser type qui est un raccourci de class, mais class a la priorité. C'est pourquoi vous ne devez jamais utiliser les deux en même temps !


 * text: HTMLTextField
 * password: HTMLTextField
 * textarea: HTMLTextAreaField
 * select: HTMLSelectField
 * radio: HTMLRadioField
 * multiselect: HTMLMultiSelectField
 * check: HTMLCheckField
 * checkmatrix: HTMLCheckMatrix
 * int: HTMLIntField
 * float: HTMLFloatField
 * info: HTMLInfoField
 * selectorother: HTMLSelectOrOtherField
 * selectandother: HTMLSelectAndOtherField
 * submit: HTMLSubmitField
 * hidden: HTMLHiddenField
 * tagfilter: HTMLTagFilter
 * sizefilter: HTMLSizeFilterField
 * user: HTMLUserTextField
 * usersmultiselect: HTMLUsersMultiselectField
 * url: HTMLTextField
 * title: HTMLTitleTextField
 * date: HTMLDateTimeField
 * time: HTMLDateTimeField
 * datetime: HTMLDateTimeField
 * limitselect: HTMLSelectField
 * email: HTMLTextField (pour la validation HTML5 côté client; il n'y a pas de validation côté serveur ici!)
 * toggle: HTMLCheckField similaire à check, mais avec l'utilisation de , l'état par défaut peut être vérifié
 * edittools: HTMLEditTools insère unn message système, un contenu analysé de MediaWiki:Edittools

Ce que l'on peut réaliser :


Le code suivant construit ce formulaire :

text
Un simple texte appelé 'text' :

password
Un champ texte affiché comme un champ de mot de passe appelé 'password' :

float
A text field validated only by floating numbers called 'float':

int
A text field validated only by integers called 'int':

textarea
An extended text field called 'textarea':

select
A drop-down menu called 'select':

selectorother
A dropdown menu with an 'other' option that toggles a simple text field on called 'selectorother':

selectandother
A dropdown menu and a simple text field called 'selectandother':

multiselect
Checkboxes field called 'multiselect':

radio
Radio buttons field called 'radio':

check
A single checkbox field called 'mycheck':

checkmatrix
A 2D matrix of checkboxes called 'checkmatrix':

info
Just raw text string (no input at all) called 'info':

submit
A submit button called 'submit'. By default, there's already one at the end of the form, this is an additional button:

hidden
A hidden text input called 'hidden': You can also use  to accomplish the same goal.

tagfilter


Filter on Tags. See the list of Tags at Special:Tags.

sizefilter


Filter on size. See the example on Special:NewPages.

user


Textbox which takes locally exist username as input.

usersmultiselect


Select multiple users. See the example in the user preferences.

url


Textbox which takes a web URL (http:// or https://) as input.

title


Autocomplete textbox which takes a title of a wiki page as input.

date


Auto date selector which takes date as input.

time


Auto time selector which takes date and time as input.

datetime


Auto date and time selector which takes date and time as input.

email


Textbox which takes an email address (abc@g.com) as input.

limitselect


A drop-down menu selector for limit.