在String中添加Flash Flex变量时为null

时间:2016-04-20 23:23:59

标签: flash variables flex null actionscript

您好我是Flash新手并且正在使用Flash Builder 4.6

我有一个包含此类电子邮件和密码的表单

<s:Form x="33" y="290" width="228" height="97">
    <s:FormItem label="Email"  >
        <s:TextInput id="emailText"/>
    </s:FormItem>
    <s:FormItem label="Password"   >
        <s:TextInput id="passwordText"/>
    </s:FormItem>
</s:Form>

我想创建一个用于POST的XML文件并完成此操作

<fx:Script>
    <![CDATA[


        import mx.controls.Alert;
        import mx.controls.Text;

        public var  strXmlTextInput1:String = "<dfapi><email>" + emailText + "</email><password>" + passwordText + "</password><duration>0</duration></dfapi>";

        protected function button_clickHandler(event:MouseEvent):void

        {

            Operation1Result.token = session.Operation1(strXmlTextInput1);
            Alert.show(strXmlTextInput1);
        }

    ]]>
</fx:Script>

但是POST的XML将变量emailText和passwordText作为null传递。如果我用实际值替换变量,它工作正常。

我做错了什么?!

1 个答案:

答案 0 :(得分:1)

当你写:

public var strXmlTextInput1:String = "<dfapi><email>" + emailText + "</email><password>" +
    passwordText + "</password><duration>0</duration></dfapi>";

您指的是由 emailText 命名的 s:TextInput 组件,因此隐式转换为String会返回NULL。< / p>

要使用视频中显示的文字,您必须使用text属性,如下所示:

public var strXmlTextInput1:String = "<dfapi><email>" + emailText.text + 
    "</email><password>" + passwordText.text + 
    "</password><duration>0</duration></dfapi>";