Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-01-2006, 23:16   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
kurioses problem (variable textfelder) onKillFocus

ich habe ein gaaanz komisches problem:

zwei textfelder mit den variablen "text_a" und "text_b".
eines ist ein eingabefeld und eines ein dynamisches feld.
wenn man in das erste feld etwas eingegeben hat und deselektiert, soll der inhalt in das zweite feld kopiert werden. folgender code funktioniert:

textfeld_a.onKillFocus = function() {
text_b = text_a;
};

jetzt ist mein projekt aber dynamisch und ich muss das zweite textfeld über einen string ansprechen. und komischerweise funktioniert folgendes nicht!

textfeld_a.onKillFocus = function() {
this["text_b"] = text_a;
};

ich kann mir da keinen reim drauf machen. der code ist ja vom sinn her absolut identisch aber wird nicht identisch abgearbeitet. ich habe eine entsprechende fla angehängt. bitte helft mir!!!
Angehängte Dateien
Dateityp: zip x.fla.zip (5,1 KB, 1x aufgerufen)
__________________
No reason to live but i like it this way.
timoken ist offline   Mit Zitat antworten
Alt 26-01-2006, 23:28   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
"Hallo Dorsten, Hallo Scoping", sag ich da nur...
Das 'this' innerhalb einer Event-Handler-Methode (xy.onBla) bezieht sich auf das Objekt, für welches die Methode aufgerufen wird.
Innerhalb von 'textfeld_a' gibt's kein 'text_b', verstehe..?
Das is also gar nicht kurios.

btw
Ich würde eh mit Textfeld.text arbeiten und nicht mit den Variablen...

Geändert von sonar (26-01-2006 um 23:29 Uhr)
sonar ist gerade online   Mit Zitat antworten
Alt 27-01-2006, 00:20   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
hmmm

naja, dann müsste aber folgender script funzen (und das tuts aber auch ned):

textfeld_a.onKillFocus = function() {
_parent["text_b"] = text_a;
};

wenn das so ist, wie du sagst dürfte folgendes ja garnicht funktionieren:

textfeld_a.onKillFocus = function() {
text_b = text_a;
};

tut es aber. fakt ist ja, das die ausdrücke text_b und this["text_b"] die gleiche instanz referenzieren sollten was aber anscheinend irgendwie im zusammenhang mit textfeldern nicht so ist.

Textfeld.text fällt für mich flach, da das zweite textfeld eigentlich nur ne variable sein soll und nicht sichtbar.
__________________
No reason to live but i like it this way.

Geändert von timoken (27-01-2006 um 00:25 Uhr)
timoken ist offline   Mit Zitat antworten
Alt 27-01-2006, 00:29   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
PHP-Code:
textfeld_a.onKillFocus = function() {
    
_parent["text_b"] = text_a;
}; 
funktioniert einwandfrei.

PHP-Code:
textfeld_a.onKillFocus = function() {
    
text_b text_a;
}; 
funktioniert auch... warum sollte das nicht funktionieren?
Durch das "Anhängen" an die Textfelder leben die beiden Variablen automatisch auf der HZL.
sonar ist gerade online   Mit Zitat antworten
Alt 27-01-2006, 00:49   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
textfeld_a.onKillFocus = function() {
_parent["text_b"] = text_a;
};

funktioniert bei mir definitiv nicht! Habe Flash 7.1 Professional für Mac. Und der Effekt tritt sowohl im SAPlayer als auch dem Plugin auf. Bin das jetzt umgangen wie folgt:

textfeld_a.onKillFocus = function() {
copymytext();
};

function copymytext(){
_this["text_b"] = text_a;
}

sieht banal und überflüssig aus aber funktioniert.
__________________
No reason to live but i like it this way.
timoken ist offline   Mit Zitat antworten
Alt 27-01-2006, 00:59   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hast du textfeld_a als var, oder instanznamen des textfeldes gesetzt??

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 27-01-2006, 01:00   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Ah, schönes Beispiel, warum man 'this._parent' und nicht nur '_parent' verwenden sollte*... probier's mal
aus

* Fehler beim Code posten meinerseits
sonar ist gerade online   Mit Zitat antworten
Alt 27-01-2006, 01:03   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
macht das überhaupt einen unterschiedt fällt mir gerade auf?! also ob var name oder instanzname?! benutze selber lieber den instanznamen.... war etwas voreilig geposted und hatte auch nicht in die datei geschaut!.. sorry

grüße, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 27-01-2006, 01:08   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
textfeld_a ist der instanzname, text_a der variablenname.

wusste garnicht, dass "_parent" allein nicht korrekt ist sondern immer ein "this" davor muss. da kann man mal sehen.

jetzt funktioniert's. danke!

aber mal ein auszug aus der flash-referenz (woher soll man das dann besser wissen wenn die das selbst falsch dokumentieren?):

_parent

Verfügbarkeit

Flash Player 5.

Verwendung


_parent.eigenschaft
_parent._parent.eigenschaft


Beschreibung

Bezeichner; gibt einen Bezug auf den Movieclip bzw. das Objekt an oder zurück, in dem der aktuelle Movieclip bzw. das aktuelle Objekt enthalten ist. Als "aktuelles Objekt" gilt das Objekt mit dem ActionScript-Code, der auf _parent Bezug nimmt. Mit _parent können Sie einen relativen Pfad zu Movieclips oder Objekten angeben, die über dem aktuellen Movieclip oder Objekt liegen.

Beispiel

Im folgenden Beispiel ist der Movieclip tisch dem Movieclip zimmer untergeordnet. Wenn im Movieclip tisch das folgende Skript ausgeführt wird, springt der Abspielkopf in der Zeitleiste des Movieclips zimmer zu Bild 10.


_parent.gotoAndStop(10);
__________________
No reason to live but i like it this way.
timoken ist offline   Mit Zitat antworten
Alt 27-01-2006, 12:38   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Naja, es _sollte_ ja auch per '_parent' alleine funktionieren, aber dass es das nicht tut, sieht man hier...
Warum das so ist? Keine Ahnung.
Ich habe das jedenfalls relativ früh als "Trick" gezeigt bekommen (Grüße an c-lex an dieser Stelle), dass man besser 'this._parent' schreibt.
Und auf die MM-Doku is eh kein Verlass ...
sonar ist gerade online   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele