0
votes

In the below code.If buttom 'A' is pressed the text box should be populated with A, and if button 'B' is pressed it should be populated with B and so on.. Can this be done.Also if any one could point me to flex examples would be much helpful.Thanks..

                  s='A';
                for(i=0;i<button.length;i++)
                {
                        txtLogin.text+=s;
                        s++;
                }  

Original code..

            <?xml version="1.0" encoding="utf-8"?>
            <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

            <mx:Button label="A" click="clickhandler(event)"  x="1" />
            <mx:Button label="B" click="clickhandler(event)"  x="101" />
            <mx:Button label="C" click="clickhandler(event)"  x="201" />
            <mx:Button label="D" click="clickhandler(event)"  x="301" />
            <mx:Button label="E" click="clickhandler(event)"  x="401" />
            <mx:Button label="F" click="clickhandler(event)"  x="501" />
            <mx:Button label="G" click="clickhandler(event)"  x="601" />
            <mx:Button label="H" click="clickhandler(event)"  x="701" />
            <mx:Button label="I" click="clickhandler(event)"  x="801" />
            <mx:Button label="J" click="clickhandler(event)"  x="901" />
            <mx:Button label="K" click="clickhandler(event)"  x="1001" />



            <mx:Script>
                    <![CDATA[
                    import mx.controls.Button;
                    import mx.controls.Alert;

                    public function clickhandler(event:Event):void
                    {

                    var button:Button=event.target as Button;
                    var i:int;
                    var s:String;
                    s='A';
                    for(i=0;i<button.length;i++)
                    {
                            txtLogin.text+=s;
                            s++;
                    }       
            /*      if (button.label=='A')
                    {
                            txtLogin.text+="A";
                            //mx.controls.Alert.show("Button1");
                    }
                    if (button.label=="B")
                    {               
                            txtLogin.text+="B";
                            //mx.controls.Alert.show("Button2");
                    }                       */
                    }
                            ]]>      

            </mx:Script>
                    <mx:TextInput x="231" y="175" id="txtLogin"/>



            </mx:Application>
1

1 Answers

0
votes

To add the clicked button's character to the txtLogin, change your clickhandler to this:

public function clickhandler(event:Event):void
{
    var button:Button=event.target as Button;
    txtLogin.text += button.label;
}

If you want to replace the contents of the txtLogin instead, use

txtLogin.text = button.label    // = instead of +=