Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-08-2004, 12:20   #1 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
Inhalt eines dynamischen Input-Textfelds onSetFocus löschen

Ich habe ein dynamisch erstelltes Input-Textfeld, embedFonts = true plus Textformat. Standardmäig steht im Textfeld ein vordefinierter Text, z.B. "your Text". Beim reinklicken soll sich das Textfeld für die Eingabe leeren. Folgendes funzt auch:

PHP-Code:
TextField.prototype.onSetFocus  = function(){ 
    if(
this.text == "your Text"this.text="new Text";
    
this.setTextFormat(myFormat);

Was bei mir aber nicht klappt, ist statt "new Text" einen leeren String zu setzen. Das Textfeld ist dann zwar leer, aber die Eingabemarke ist weg und läßt sich auch nicht mehr durch erneutes Klicken ins Textfeld holen. Wenn ich ein Leerzeichen als neuen String übergebe, ist die Marke da, aber verschwindet bei Backspace mit den selben Konsequenzen. Setzt man embedFonts = false, ist zwar die Textmarke da, aber das Textformat ist weg. Was tun

Gruß,
Panda
-Panda- ist offline   Mit Zitat antworten
Alt 31-08-2004, 12:24   #2 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Klappt das nicht:
PHP-Code:
_root.createTextField("t"00010020);
t.type "input";
t.border true;
t.text "Pleace insert Text";
/* HIER DIE FUNCTION */
t.onSetFocus = function() {
    
t.text "";

__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 31-08-2004, 12:36   #3 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
So klappts schon, aber bei mir kommt ja noch das embedFonts und setTextFormat dazu:

PHP-Code:
_root.createTextField("t"00010020);
t.type "input";
t.border true;
t.text "Pleace insert Text";
t.embedFonts true;
= new TextFormat();
f.font "MyFont";
t.setTextFormat(f);
/* HIER DIE FUNCTION */
t.onSetFocus = function() {
    
t.text "";
    
t.setTextFormat(f);
}; 
Und schon klappts nimmer! Also Darstellung vorm Reinklicken okay, danach Textfeld leer und keine Einfügemarke mehr!

-Panda- ist offline   Mit Zitat antworten
Alt 31-08-2004, 18:24   #4 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
Kennt das Problem denn niemand???

Was mir auch noch aufgefallen ist, selbst wenn man bei onSetFocus einen neuen String übergibt, kann man nur dann ins Feld schreiben, wenn man entweder den Text im Feld komplett löscht oder den Cursor irgendwo innerhalb des Textes platziert. Vor oder nach dem Wort kann man nix tippen!

Das ganze hängt irgendwie mit dem Zuweisen eines Textformats und embedFonts = true zusammen.

Warum muß man denn überhaupt das Textformat neu zuweisen, wenn man einen neuen String ins Texfeld übergibt?
-Panda- ist offline   Mit Zitat antworten
Alt 31-08-2004, 21:52   #5 (permalink)
nah dran
 
Benutzerbild von -Panda-
 
Registriert seit: Sep 2002
Ort: Karlsruhe
Beiträge: 147
Um das Rätsel kurz zu lüften, eigentlich mal wieder eine supersimple, naheliegende Sache. Ist im Textfeld kein Text enthalten, gibts auch kein Textformat. Deshalb muß man für neu einzugebenden Text setNewTextFormat nehmen (wer hätte das gedacht...)

Also so:

PHP-Code:
_root.createTextField("t"00010020); 
t.type "input"
t.border true
t.text "Pleace insert Text"
t.embedFonts true
= new TextFormat(); 
f.font "MyFont"
t.setTextFormat(f); 
t.onSetFocus = function() { 
    
t.text "";
    
// HIER!!!
    
t.setNewTextFormat(f); 
}; 
-Panda- ist offline   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 16:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele