Flex PopUp – Savoir quel bouton a été cliqué dans une Alert (Ok, Cancel, Yes, No)
Maintenant que vous savez ouvrir une fenêtre PopUp Alert avec les différents boutons (Ok, Cancel, Yes, No ou une combinaison des 4), vous allez vouloir savoir sur quel bouton l'utilisateur a cliqué pour réagir en conséquence. Pour cela, il faut que vous ajoutiez des listeners pour les évènements click propagés par Alert. Par défaut, l'Alert se ferme quand l'utilisateur clique sur un bouton. Cependant, votre application veut peut être recevoir une notification quant l'utilisateur a cliqué sur un bouton. De plus, quand une Alert a plusieurs bouton (type Flex Alert Confirm avec Yes / No), il est important de savoir quel bouton a été cliqué.
Vous pouvez ajouter un listener à une Alert en passant un fonction de listener à la méthode show() en tant que 5ème paramètre. Ce listener va recevoir un paramètre de type mx.events.CloseEvent. La propriété "detail" de cet objet évènement contiendra la valeur de la constante Alert correspondant au choix de l'utilisateur. Pour rappel, les constantes d'Alert sont Alert.OK, Alert.CANCEL, Alert.YES et Alert.NO.
L'exemple suivant utilise une listener pour afficher la sélection de l'utilisateur:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import mx.controls.Alert;
// fonction affichant une boîte de dialogue simple
private function clickHandlerOkCancel(event:Event):void {
Alert.show("Texte dans une Alert", "Header de la boîte de dialogue", Alert.OK | Alert.CANCEL, this, alertClickHandler);
}
private function clickHandlerYesNo(event:Event):void {
Alert.show("Texte dans une Alert", "Header de la boîte de dialogue", Alert.YES | Alert.NO, this, alertClickHandler);
}
private function alertClickHandler(event:CloseEvent):void{
var outputMessage:String = "";
switch (event.detail){
case Alert.OK:
outputMessage = "Clic sur OK";
break;
case Alert.CANCEL:
outputMessage = "Clic sur Cancel";
break;
case Alert.YES:
outputMessage = "Clic sur Yes";
break;
case Alert.NO:
outputMessage = "Clic sur No";
break;
}
output.text = outputMessage;
}
]]>
</mx:Script>
<mx:Button label="Afficher une Alert type Ok Cancel" click="clickHandlerOkCancel(event);"/>
<mx:Button label="Afficher une Alert type Confirm Yes No" click="clickHandlerYesNo(event);"/>
<mx:TextInput id="output" editable="false" />
</mx:Application>
Flex Source Code Download: Télécharger le code source complet de l'application
Articles similaires
- Flex PopUp – Changer les Yes / No des Alert en Oui / Non
- Flex PopUp – Ouvrir une PopUp avec la classe Alert
- Flex PopUp – Ajouter une icône dans la barre de titre d'une Alert
- Flex PopUp – Utiliser des icônes dans une Alert Flex
- Flex PopUp – Créer une fenêtre Alert non modale
Aucun trackbacks pour l'instant





