27.5.08

Flex : Valider un formulaire avec la touche Entrée

Pour ne pas apporter de l'eau au moulin des personnes pour qui Flash est 99% mauvais et que les formulaires HTML sont mieux, il est indispensable de pouvoir valider les formulaires avec la touche "Entrée".

Je n'avais pas encore trouvé de moyen simple, propre et rapide de faire cela en Flex (autrement que passer par l'écoute des événements clavier).
Grâce à John C. Bland II, j'ai découvert LA solution : l'attribut defaultButton de Form.

Il suffit de définir le defaultButton pour le Form et Flex s'occupe du reste !

Un petit peu de code vaut mieux qu'un long discours :

<mx:Form id="loginForm" defaultButton="{cbtSubmit}">
<mx:FormItem>
<mx:Label text="Email " />
<mx:TextInput id="ctiEmail" />
</mx:FormItem>
<mx:FormItem>
<mx:Label text="Password " />
<mx:TextInput id="ctiPassword" displayAsPassword="true" />
</mx:FormItem>
<mx:Button id="cbtSubmit" label="Valider" click="submitForm()" buttonMode="true"/>
</mx:Form>

Dans cet exemple l'appui sur la touche Entrée va déclencher l'exécution de la fonction submitForm.
Simple, non ?