Flashhilfe.de - Flash Community

Combobox - Inhalte Inputfeldern zuweisen [Flash 10]

 


AntwortenRegistrieren Seite1  

Mole23#1
Benutzerbild von Mole23
Beiträge: 50
Wohnort: Hamburg
Registriert: Feb 2010

03.02.2010, 16:34

Hallo zusammen,

ich hätte mal ein kleines Problem:

Ich bekomme aus einer XML-Datei (ich poste diese im folgenden) Adressdaten. Vor- und Nachname übergebe ich einer Combobox als Label. Wenn man nun einen Namen aus der Liste der Combobox auswählt, sollen weitere Adressdaten die entsprechende Inputfelder füllen.

Dieses funktioniert bei mir zur Zeit nur begrenzt. Ich schaffe es zwar die Felder ausfüllen zu lassen, jedoch entspricht der Inhalt der Felder immer dem letzten Eintrag meiner XML-Datei.

Ich spaar mir im folgenden die Styles und die Anbindung an einen Webservice, um die Übersicht zu bewahren. In der Funktion "getLabel" werden die Felder ausgefüllt.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
...

private function httpServiceResult(evt:ResultEvent):void {
      comboBox.dataProvider = evt.result.persons.person;
   }
         
   private function getLabel(item:Object):String {
      
      
      toField.text = item.eMail;
      fromField.text = item.firstName +" "+ item.lastName;
      
      return item.firstName + " " + item.lastName;
   }

   protected function init(event:FlexEvent):void {
      text.send();
   }
         
     ]]>
   </mx:Script>

   <mx:HTTPService id="text" url="data/myXML.xml"
               resultFormat="object"
               result="httpServiceResult(event)" />
   
   
    <mx:VBox horizontalAlign="center" verticalAlign="middle" left="30" right="431" top="30" bottom="50">
        <mx:Form width="100%" height="100%">
        
        <mx:FormItem label="User:" width="100%">
          <mx:ComboBox id="comboBox" labelFunction="getLabel" width="100%" />
        </mx:FormItem>
        
        <mx:FormItem label="Email an:" width="100%">
          <mx:TextInput id="toField" width="100%" text="(Adresse Empfänger)"/>
        </mx:FormItem>
        <mx:FormItem label="Email von:" width="100%">
          <mx:TextInput id="fromField" width="100%" text="(Ihre Emailadresse)"/>
        </mx:FormItem>
        <mx:FormItem label="Ihr Name:" width="100%">
          <mx:TextInput id="fromNameField" width="100%" text="(Bitte geben Sie Ihren Namen ein)"/>
        </mx:FormItem>
        <mx:FormItem label="Betreff:" width="100%">
          <mx:TextInput id="subjectField" width="100%" text="(Kopfzeile der Nachricht)"/>
        </mx:FormItem>
        <mx:FormItem label="Nachricht:" width="100%" height="100%">
          <mx:TextArea id="bodyField" text="(Bitte geben Sie hier Ihre Nachricht ein)" width="100%" height="100%"/>
        </mx:FormItem>
        </mx:Form>
        
        <mx:HBox styleName="dateianhaengen" width="307">
            <mx:CheckBox label="Dokument als Emailanhang hinzufügen." id="da" width="303"/>
        </mx:HBox>
        <mx:HBox styleName="cbStyle" width="307">
            <mx:CheckBox label="Kopie der Email an mich selbst." id="cb" width="303"/>
        </mx:HBox>

        <mx:Button label="Senden" click="invokeSendMail(event)" width="308"/>
   </mx:VBox>
   
    <mx:HTML x="391" y="39" height="496" width="354">
        <mx:location>///C:\+ Web\NxCommunicator/Test-PDF.pdf#toolbar=0&scrollbar=0&navpanes=0&view=FitH</mx:location>
    </mx:HTML>
   

</mx:WindowedApplication>


Hier die entsprechende XML-Datei:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version = "1.0" encoding = "UTF-8"?>

<persons>
   <person>
       <firstName>Max1</firstName>
       <lastName>Mustermann1</lastName>
       <eMail>ole@bruens.org</eMail>
   </person>
   <person>
       <firstName>Max2</firstName>
       <lastName>Mustermann2</lastName>
       <eMail>ole@bruens.org</eMail> 
   </person>
   <person>
       <firstName>Max3</firstName>
       <lastName>Mustermann3</lastName>
       <eMail>ole@bruens.org</eMail> 
   </person>
</persons>


Im groben weiß ich auch wo der Fehler liegt. Ich muss halt irgendwie sone Art Index an die Felder mit übergeben. Leider habe ich mal wieder keinen Plan wie man soetwas anstellt.

THX im Voraus, an alle die sich die Zeit nehmen!
Sebastian#2
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

03.02.2010, 16:53

Schätze mal das liegt an der Zeile:
ActionScript:
1evt.result.persons.person;

Sieh Dir mal im Debugger an was dort zurück geben wird.

Wahrscheinlich ist das das richtige:
ActionScript:
1evt.result.persons;
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Mole23#3
Benutzerbild von Mole23
Beiträge: 50
Wohnort: Hamburg
Registriert: Feb 2010

Themenautor/in

03.02.2010, 17:00

Erstmal danke für die Antwort,

aber daran wird es nicht liegen, da bin ich mir recht sicher, weil ich ja sonst nicht auf die Untergruppen zugreifen kann. Das Label der Combobox wird ja auch einwandfrei aus der XML übergeben!

Das Problem entsteht wenn ich jetzt z.B. "Max2 Mustermann2" in der Combobox auswähle. In diesem Fall übergibt er lediglich "Max3 Mustermann3", halt den letzten Eintrag in der XML-Datei.
Geändert von Mole23 am 03.02.10 um 17:06 Uhr
Mole23#4
Benutzerbild von Mole23
Beiträge: 50
Wohnort: Hamburg
Registriert: Feb 2010

Themenautor/in

04.02.2010, 11:20

Ich habe mich noch ein bisschen mit der Problematik beschäftigt. Soweit ich das bis jetzt verstanden habe, muss ich ein "changeEvent" erstellen und dann irgendwie via .selectedItem mir den Inhalt zurückgeben lassen.

Leider ist mein Wissen etwas begrenzt. Kann mir jemand das etwas genauer erläutern oder sagen wo ich das nachlesen kann?? Ich habe leider keine Ahnung wie das geht...
Mole23#5
Benutzerbild von Mole23
Beiträge: 50
Wohnort: Hamburg
Registriert: Feb 2010

Themenautor/in

04.02.2010, 11:33

Ich habe eine Lösung... Dann beende ich mal dieses Thema.

Danke an alle Beteiligten!



Falls es jemand Interesse hat:

<mx:TextInput id="fromNameField" width="100%" text="{comboBox.selectedItem.lastName}"/>

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de