Écrit par Neil Deakin
,
mise à jour par les contributeurs à MDC
.
Traduit par Benoit Salandre (14/01/2004), mise à jour par Alain B. (04/04/2007) .
Page originale :
http://developer.mozilla.org/en/docs/XUL_Tutorial/Input_Controls
Attention : Ce tutoriel est ancien et n'est pas mis à jour. Bien que beaucoup d'informations soient encore valables pour les dernières versions de gecko, beaucoup sont aussi obsolètes. Il est préférable d'aller consulter cette page sur la version française de ce tutoriel sur developer.mozilla.org.
XUL possède des éléments qui sont similaires aux champs des formulaires HTML.
Le HTML possède une balise input
pouvant être
utilisée comme champ de saisie de texte. XUL possède un élément similaire,
textbox
,
utilisé comme champ de saisie de texte.
Sans aucun attribut, l'élément
textbox
crée une
boîte dans laquelle l'utilisateur peut entrer du texte. Les boîtes de texte
acceptent plusieurs attributs similaires à la balise input
de l'HTML. En voici quelques uns :
id
class
value
value
.disabled
type
maxlength
Notez que, tandis qu'en HTML différentes sortes de champs peuvent être créées avec
l'élément input
, il y a un élément différent pour
chaque type de champs en XUL.
L'exemple suivant montre quelques boîtes de texte :
<label control="some-text" value="Entrez du texte"/>
<textbox id="some-text"/>
<label control="some-password" value="Entrez un mot de passe"/>
<textbox id="some-password" type="password" maxlength="8"/>
Les exemples de boîtes de texte ci-dessus créent des champs de saisie qui ne
peuvent être utilisés que pour la saisie d'une seule ligne de texte. Le HTML possède aussi
un élément textarea
pour créer une zone de saisie plus grande.
Dans XUL, vous pouvez utiliser l'élément
textbox
de la même façon -- deux éléments
distincts ne sont pas nécessaires. Si vous mettez l'attribut
multiline
à la valeur true,
le champ de saisie de texte affichera plusieurs lignes.
Par exemple :
<textbox multiline="true"
value="Voici du texte qui pourrait s'étaler sur plusieurs lignes."/>
Comme avec la balise textarea
du HTML, vous pouvez
utiliser les attributs rows
et
cols
pour définir la taille. Ils vous permettent d'ajuster
le nombre de lignes et de colonnes de caractères à afficher.
Maintenant, ajoutons un champ de saisie de recherche à la boîte de
dialogue de recherche de fichiers. Nous allons utiliser l'élément
textbox
.
<label value="Chercher :" control="find-text"/>
<textbox id="find-text"/>
<button id="find-button" label="Rechercher"/>
Ajoutez ces lignes avant les boutons que nous avons créés dans la section précédente. Si vous ouvrez cette fenêtre, vous verrez quelque chose ressemblant à l'image ci-dessous.
Notez que le libellé et le champ de saisie de texte sont maintenant apparus dans
la fenêtre. La boîte de texte est complètement fonctionnelle et vous pouvez taper
et sélectionner du texte dedans. Notez aussi que l'attribut
control
a été utilisé. Ainsi, le champ de saisie est
sélectionnée lorsque l'on clique sur son libellé.
Deux éléments supplémentaires sont utilisés pour la création des cases à cocher et des boutons radio. Ce sont des variantes de boutons. La case à cocher est utilisée pour des options qui peuvent être activées ou désactivées. Les boutons radio peuvent être utilisés dans un but similaire quand il y a un ensemble de boutons où un seul d'entre eux peut-être sélectionné à la fois.
Vous pouvez employer la plupart des attributs des boutons avec les cases à cocher et les boutons radio. L'exemple ci-dessous montre des cases à cocher et boutons radio simples.
<checkbox id="case-sensitive" checked="true" label="Sensible à la casse"/>
<radio id="orange" label="Orange"/>
<radio id="violet" selected="true" label="Violet"/>
<radio id="yellow" label="Jaune"/>
La première ligne crée une simple case à cocher. Quand
l'utilisateur clique sur la case à cocher, son état coché et décoché s'inverse.
L'attribut checked
peut
être utilisé pour indiquer l'état par défaut. Il
vous faudra l'initialiser soit à true, soit
à false. L'attribut label
peut être utilisé pour ajouter un libellé qui apparaitra
à côté de la case à cocher. Pour les boutons
radio, vous utiliserez l'attribut selected
à la
place de l'attribut checked
. Initialisez
le à true pour avoir un bouton radio sélectionné
par défaut, ou ne le mettez pas pour les autres boutons radio.
radiogroup
Pour grouper des boutons radio ensemble, vous devez utiliser l'élément
radiogroup
.
Un seul bouton radio peut-être
sélectionné dans un radiogroup
.
Cliquez sur l'un deux désélectionnera tous les autres du même groupe. C'est ce que démontre
l'exemple suivant.
<radiogroup>
<radio id="orange" label="Orange"/>
<radio id="violet" selected="true" label="Violet"/>
<radio id="Jaune" label="Jaune"/>
</radiogroup>
Comme pour les boutons, les cases à cocher et les boutons radio sont constitués d'un libellé et d'une image, où l'image change en fonction de l'état coché ou décoché. Les cases à cocher ont certains attributs communs aux boutons :
label
disabled
accesskey
Dans la prochaine section, nous allons voir quelques éléments pour la création de boîtes de listes.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.