Flash Flex 变量在字符串中添加时为空

Posted

技术标签:

【中文标题】Flash Flex 变量在字符串中添加时为空【英文标题】:Flash Flex variables are null when added in String 【发布时间】:2016-08-13 21:47:58 【问题描述】:

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

我有一个这样的带有电子邮件和密码的表单

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

我想创建一个 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 传递。如果我用实际值替换变量,它工作正常。

我做错了什么?!

【问题讨论】:

使用emailText.textpasswordText.text 【参考方案1】:

当你写作时:

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

您将您命名的组件 s:TextInput 称为 emailText,因此隐式转换为 String 会返回 NULL

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

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

【讨论】:

是的,这是正确的答案。非常感谢。简单易懂。 祝你有美好的一天;)

以上是关于Flash Flex 变量在字符串中添加时为空的主要内容,如果未能解决你的问题,请参考以下文章

PHP变量不等于代码中的字符串,但打印时为字符串

如何在 Flash 中创建 Flex Display 组件?

在 Flex 中使用 Flash 组件 SWC 文件

C++:在转换为 int 并添加时为我的字符数组获取奇怪的值

在eclipse上调试flash时看不到变量

使用Flex SDK编译的Flash文件非常大