Flashhilfe.de - Flash Community

Aktion bei Klick in Eingabetextfeld [Flash 10]

 


AntwortenRegistrieren Seite1  

m3xx#1
Benutzerbild von m3xx
Beiträge: 85
Wohnort: Lüdenscheid
Registriert: Jan 2003

22.03.2011, 15:54

Hallo Freunde,

ich würde gerne für ein Emailformular, Eingabetextfelder vorausfüllen, mit Name, Nachname usw....
Bei Klick in das Textfeld soll der text nun verschwinden und sich der farbliche Hintergrund ändern.

hier meine versuchsansätze =(
das Skipt macht was es soll, allerdings ist es schwachsinnig nicht mehr schreiben zu können wenn die maus auf dem textfeld ist :) bzw der text wieder weg ist, wenn man ausversehen nochmal mit der maus auf das feld kommt..... =(



ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a = "Name";
b = "Vorname";

TextField.prototype.hitTest = MovieClip.prototype.hitTest;

this.onEnterFrame = function()
{
 
  if (eing_name.hitTest(_xmouse, _ymouse, true)){
     a = "";
     }
 
  if (eing_vorname.hitTest(_xmouse, _ymouse, true)){
     b = "";
     }
 
};


Danke für eure Hilfe!
der Björn
Good Artists copy, Great Artists steal! pablo picasso
RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.03.2011, 16:57

Servus
Wäre da ne Lösung mit onSetFocus und onKillFocus nicht schlauer?
Beispiel:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
this.createTextField("user_name", this.getNextHighestDepth(), 20,20,200,20);
user_name.type = "input";
user_name.text ="User Name";
user_name.border = true;
user_name.background = true;
user_name.backgroundColor = 0xAAFF00;
//
this.createTextField("user_nachname", this.getNextHighestDepth(), 20,50,200,20);
user_nachname.type = "input";
user_nachname.text ="User Nachname";
user_nachname.border = true;
user_nachname.background = true;
user_nachname.backgroundColor = 0xAAFF00;
//
TextField.prototype.onSetFocus = function(oldFocus){
     this.backgroundColor = 0xFFFF00;
     this.text ="";
}
TextField.prototype.onKillFocus = function(newFocus){
     this.backgroundColor = 0xAAFF00;
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
springer#3
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

22.03.2011, 21:37

hi,
habs etwas anders gelöst. hier wird auch noch überprüft ob man in einem input bereits etwas eingegeben und funktioniert auch noch wenn man das zweite mal ins textfeld klickt:

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
TextField.prototype.initDefault = function (string:String)
{
     this.defaultString = string;
     this.text = this.defaultString;
     var obj:Object = new Object();
     obj.onSetFocus = function (oldFocus, newFocus):Void
     {
        if( newFocus instanceof TextField )
        {
           if( newFocus.text == newFocus.defaultString || newFocus.text == "" )
           {
              newFocus.text = "";
           }
        }
        
        if( oldFocus instanceof TextField )
        {
           if( oldFocus.text == "" )
           {
              oldFocus.text = oldFocus.defaultString == undefined ? "" : oldFocus.defaultString;
           }
        }
        
     };
     Selection.addListener( obj );
     
};

tf.initDefault("vorname");
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.03.2011, 22:26

Nicht so Elegant wie von Springer, lässt aber auch den Text stehen, wen man das zweite mal klickt.
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
this.createTextField("user_name", this.getNextHighestDepth(), 20,20,200,20);
user_name.iF = false;
user_name.type = "input";
user_name.text ="User Name";
user_name.border = true;
user_name.background = true;
user_name.backgroundColor = 0xAAFF00;
//
this.createTextField("user_nachname", this.getNextHighestDepth(), 20,50,200,20);
user_nachname.iF = false;
user_nachname.type = "input";
user_nachname.text ="User Nachname";
user_nachname.border = true;
user_nachname.background = true;
user_nachname.backgroundColor = 0xAAFF00;
//
TextField.prototype.onSetFocus = function(oldFocus){
     this.backgroundColor = 0xFFFF00;
     if(this.iF == false){
        this.iF = true;
        this.text ="";
     }
}
TextField.prototype.onKillFocus = function(newFocus){
     this.backgroundColor = 0xAAFF00;
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
m3xx#5
Benutzerbild von m3xx
Beiträge: 85
Wohnort: Lüdenscheid
Registriert: Jan 2003

Themenautor/in

22.03.2011, 23:36

Ja danke ihr beiden,
wieder mal meine Retter =)

onSetFocus!!!

Das habe ich gesucht!
Das kommt davon wenn man Fachrichtung Design ist
und nur sperrliches Wissen über die gigantische Flash-Libery hat =(

Danke euch beiden!!

Gruß
der björn
Good Artists copy, Great Artists steal! pablo picasso

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