hi all
problem has been fixed.Scope of function needs to be changed.
Thxs for ur help
Anuj

On Mon, Oct 13, 2008 at 10:38 AM, anuj181 <[EMAIL PROTECTED]> wrote:

>   Hi Guys
> I am trying to implement the login form . The login form works fine
> when i use script and put all the action script in the main mxml file.
> But my requirements is to put all the action script in external as
> file and make things working. For some reason the builder does not
> like my login button, user name text and password text in the as file.
> Initially it does not recognize those components but then i user
> parent::loginbutton to access which solves the compile time problem,
> but gives type coercion error in my project as
> "TypeError: Error #1034: Type Coercion failed: cannot convert
> mx.containers::[EMAIL PROTECTED] to Namespace."
> I like to define my login and password text input in the main mxml
> file and like to write the business logic in external as file.
> Please let me know what i am missing.If you can provide someone who
> has done that, that will be helpful too.
> Thanks a lot for your help.
> Anuj
> /*My MXML Code*/
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Canvas
> xmlns:mx="http://www.adobe.com/2006/mxml";
> creationComplete="URLLoader_loadExample()"
> xmlns:text="flash.text.*" cornerRadius="2"
> xmlns:ns1="com.Pelco.login.view.*" width="1200" height="768">
> <!-- The Application class states property defines the view
> states. -->
> <mx:Metadata>
> [Event(name="fistTimeSetupEvent", type="flash.events.Event")]
> </mx:Metadata>
>
> <mx:Script source="scripts/login.as" />
> <mx:HTTPService id="ConfigXMLService" url="Private/Config.xml"
> resultFormat="e4x" result="loginSettings(event)" />
> <mx:HTTPService id="UsersXMLService" url="assets/Users.xml"
> resultFormat="e4x" result="loginSettings(event)" />
> <mx:states>
> <mx:State name="Recover">
> <!-- Add a TextInput control to the form. -->
> <!-- Set properties on the Panel container and Button
> control. -->
> <mx:SetProperty target="{loginPanel}"
> name="title" value="Recover Password"/>
> <mx:SetProperty target="{loginButton}"
> name="label" value="Recover"/>
>
> <!-- Remove the existing LinkButton control. -->
> <mx:RemoveChild target="{registerLink}"/>
>
> <!-- Add a new LinkButton control to change
> view state back to the login form. -->
> <mx:AddChild relativeTo="{spacer1}" position="before">
> <mx:LinkButton label="Return to Login"
> click="currentState=''"/>
> </mx:AddChild>
> <mx:RemoveChild target="{formitem1}"/>
> <mx:SetProperty target="{password}" name="label"
> value="Email:"/>
> <mx:AddChild relativeTo="{password}" position="before">
> <mx:FormItem label="or" textAlign="center"
> horizontalCenter="true" horizontalAlign="center">
> </mx:FormItem>
> </mx:AddChild>
> </mx:State>
> </mx:states>
>
> <mx:Panel width="1200" height="736" y="32" horizontalAlign="center"
> verticalAlign="middle" creationComplete="ConfigXMLService.send()">
>
> <!--<mx:Label text="here:{TabBarMain.enabled}" fontSize="40" x="432"
> y="10"/>
> --> <mx:Panel title="Login" id="loginPanel"
> horizontalScrollPolicy="off" verticalScrollPolicy="off"
> horizontalCenter="1" verticalCenter="1">
> <mx:Form id="loginForm" defaultButton="{loginButton}">
> <mx:FormItem label="Username:" id="username">
> <mx:TextInput id="txt_UserName"/>
> </mx:FormItem>
> <mx:FormItem label="Password:" id="password">
> <mx:TextInput id="txt_Password" displayAsPassword="true"/>
> </mx:FormItem>
> <mx:FormItem label="Domain:" id="formitem1">
> <mx:ComboBox
> dataProvider="{domainCollection}"></mx:ComboBox>
> </mx:FormItem>
> </mx:Form>
> <mx:ControlBar>
> <!-- Use the LinkButton control to change to
> the Register view state. -->
> <mx:LinkButton label="Forgot your password?" id="registerLink"
> click="currentState='Recover';"/>
> <mx:Spacer width="100%" id="spacer1"/>
> <mx:Button label="Login" id="loginButton"/>
> </mx:ControlBar>
> </mx:Panel>
> </mx:Panel>
>
> /*MyAction Script code*/
> // ActionScript file
> import mx.collections.XMLListCollection;
> import mx.controls.Alert;
> import mx.rpc.events.*;
>
> import mx.controls.Alert;
> import flash.net.URLLoader;
> import flash.net.URLRequest;
> import flash.xml.*;
>
> private var externalXML:XML;
> private var loader:URLLoader;
> public var alert:Alert = new Alert;
> public var alertPassword:Alert=new Alert;
> public var tempUserName:Array=new Array();
> public var tempPassword:Array=new Array();
>
> public function URLLoader_loadExample():void
> {
> var request:URLRequest = new
> URLRequest("Private/LoginAuthenticatedUsers.xml");
> loader = new URLLoader();
>
> try
> {
> loader.load(request);
> }
> catch (error:SecurityError)
> {
> trace("A SecurityError has occurred.");
> }
> //
> loader.addEventListener(Event.COMPLETE,processXML);
>
> function processXML(e:Event):void
> {
> //Retrieving XML data and putting them in array
>
> externalXML = new XML(e.target.data);
> for(var i:Number=0;i<externalXML.children().length();i++)
> {
> tempUserName.push(externalXML.user.userName.text()[i]);
> tempPassword.push(externalXML.user.password.text()[i]);
> }
> }
>
> //Clicking Log-in button
>
>
> parent::loginButton.addEventListener(MouseEvent.CLICK,checkLogin);
> function checkLogin( event:MouseEvent):void
> {
> var chkUserName:Boolean;
> var chkPassWord:Boolean;
>
> //Validating User Name and Password
> for(var j:Number=0;j<tempUserName.length;j++)
> {
>
>
> if((parent::txt_UserName.text==tempUserName[j].toString())&&(parent::txt_UserName.text!=""))
> {
> chkUserName=true;
> if((parent::txt_Password.text==tempPassword[j].toString())
> &&(parent::txt_Password.text!=""))
> {
> chkPassWord=true;
> alert=Alert.show("You have entered correct user name and
> password");
> }
> else
> {
> alert=Alert.show("Wrong password");
> }
> }
> }
> //Checking for null and wrong user name and password
> if((!chkUserName)&&(!chkPassWord))
> {
> alert=Alert.show("Please Check the Credentials");
> }
> }
> }
>
>  
>

Reply via email to