用户登陆 的一个flex实例

本文介绍了一个使用 Flex 技术实现的简单登录界面示例。该界面包含用户输入字段及验证码功能,并通过状态管理实现了登录成功后的主页跳转效果。文章详细展示了如何利用 MXML 和 ActionScript 进行界面设计与交互逻辑编写。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  verticalAlign="middle" creationComplete="initApp()">
 <mx:states>
  <mx:State name="index">
   <mx:RemoveChild target="{panel1}"/>
   <mx:AddChild position="lastChild">
    <mx:Label text="欢迎来到主页" fontFamily="Georgia" fontSize="15" color="#EAC248"/>
   </mx:AddChild>
  </mx:State>
 </mx:states>
 
 <mx:Panel x="109" y="53" width="250" height="200" layout="absolute" id="panel1" title="用户登陆" fontFamily="Georgia" fontSize="12" color="#2A7383">
  <mx:Label x="23" y="12" text="用户名"/>
  <mx:Label x="23" y="45" text="密    码"/>
  <mx:TextInput x="72" y="10" width="148" id="txtUsername" themeColor="#F7F9FB"/>
  <mx:TextInput x="72" y="43" width="148" id="txtPassword" displayAsPassword="true" themeColor="#FBFBFB"/>
  <mx:Button x="89" y="122" label="登陆" id="btnLogin" click="loginHandle()"/>
  <mx:Button x="149" y="122" label="重置" id="btnReset" click="resetHandle()"/>
  <mx:Label x="23" y="87" text="较验码"/>
  <mx:TextInput x="72" y="85" width="46" id="txtCheckCode" themeColor="#FAFBFB"/>
  <mx:Text x="129" y="87" width="39" id="lblCheckCode"/>
  <mx:Label x="165" y="87" text="看不清楚?" click="initApp()"/>
 </mx:Panel>
 
  <mx:Script>
   <![CDATA[
    import mx.controls.Alert;
    private function loginHandle():void{//登陆
     if(txtUsername.text==""||txtPassword.text==""){
      Alert.show("请输入完整数据!");
     }else{
      if(txtUsername.text=="admin"&& txtPassword.text=="pass"
        && txtCheckCode.text.toLowerCase()==lblCheckCode.text.toLowerCase()){
       Alert.show("登陆成功!");
       currentState="index"; //登陆成功后跳转到index state ,其实没有跳转,只是delete了 panel1
      }
      else{
       if(txtCheckCode.text.toLowerCase()!=lblCheckCode.text.toLowerCase()){
        Alert.show("较验码错误");
        lblCheckCode.text=GenerateCheckCode();
       }else
       Alert.show("用户名或密码错误!");
      }
     }
    }
    
    private function resetHandle():void{//重置
     txtUsername.text="";
     txtPassword.text="";
    }
    
    private function GenerateCheckCode():String{//生成随机码
     var ran:Number;
     var number:Number;
     var code:String;
     var checkCode:String="";
     
     for(var i:int=0;i<4;i++){
      ran=Math.random();
      number=Math.round(ran*10000);
      if(number%2==0){
       code=String.fromCharCode(48+(number%10));
      }else{
       code=String.fromCharCode(65+(number%26));
      }
      checkCode+=code;
     }
     return checkCode;
    }
    
    private function initApp():void{
     lblCheckCode.text=GenerateCheckCode();
    }
   ]]>
  </mx:Script>
</mx:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值