2016-04-20 9 views
0

Hallo, ich bin neu in Flash und sind mit Flash Builder 4.6Flash-Flex-Variablen sind null, wenn in String

Ich habe ein Formular mit einer E-Mail und Passwort wie diese

<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> 

hinzugefügt Und ich mag eine XML-Datei erstellen POST und haben diese

<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> 

Aber die XML getan, die gebucht hat, die Variablen emailText und passwordText haben als null verabschiedet. Es funktioniert gut, wenn ich die Variablen durch tatsächliche Werte ersetze.

Was mache ich falsch ?!

+1

Verwenden 'emailText.text' und' passwordText.text'. –

Antwort

1

Wenn Sie schreiben:

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

Sie auf die Komponente beziehen s: TextInput- von Ihnen benannte als emailText, so die implizite Konvertierung in String kehrt NULL.

Um den Text erscheint in Video verwenden Sie die text Eigenschaft wie folgt einsetzen:

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

Ja das war die richtige Antwort. Danke vielmals. Einfach, wenn du es weißt. – user2818170

+0

Einen schönen Tag noch;) –