Klick auf Textfeld - Befehl?

Domsi

Erfahrenes Mitglied
Gibts dafür irgend einen Befehl?

Per AS lass ich in meine Eingabetexfelder schreiben was dort hinein gehört. Nur sollte sobald man auf das Textfeld klickt der Text der per As erzeugt wird verschwinden damit man etwas eingeben kann!

Gibts da irgend einen Befehl dafür?
 
Hi,

PHP:
var geloescht = false;

eingabefeld.onSetFocus = function() {
	if (!geloescht) {
		this.text = "";
		geloescht = true;
	}
}
Den Kram mit "geloescht" kannst Du weglassen, dann wird das Feld aber jedes mal geleert, wenn Du ihm den Fokus gibst.

Gruß
.
 
Ok, danke

nur da hab ich wieder mal ein Problem, soweit komm ich nicht das es funktioniert wie ich es will.

Ich habe es mal soweit geschafft aber ab diesem Punkt hats mich dann ausgehängt:
PHP:
var geloeschte = false;
onEnterFrame = function(){
if(geloeschte == false){
_root.feld1.text = "Vorname";
_root.feld2.text = "Nachname";
_root.feld3.text = "Tag";
_root.feld4.text = "Monat";
_root.feld5.text = "Jahr";
_root.feld3.restrict = "0-9";
_root.feld4.restrict = "0-9";
_root.feld5.restrict = "0-9";
	}else{
		
}
for(z=0;z<5;z++){
geloescht[z] = false; 

feld[z].onSetFocus = function() { 
    if (!geloescht[z]) { 
	_root.feld[z] = "";
        geloescht[z] = true; 
    } 
} 
}

Es kann so nicht funktionieren, das ist mir klar nur so gut bin ich in Flash nicht das ich nun weiß was zu tun ist.

Oder wäre es da einfacher wenn ich einfach 5 mal die onSetFocus Funktion schreibe?
 
Hi,

1. Du musst "geloescht" auch als Array definieren:
PHP:
var geloescht = new Array();
(soll es nun eigentlich "geloescht" oder "geloeschte" heissen?)

2. was soll die onEnterframe-Funktion dort? Lies Dir lieber in der Doku nochmal durch, was onEnterFrame genau macht. ;)

3. Wenn Du die Felder als Array ansprichst, solltest Du sie auch in ein Array packen:
PHP:
var feld = new Array();

for(z=0;z<5;z++){
    geloescht[z] = false;
    feld[z] = _root["feld" + (z + 1)];
    feld[z].idx = z;
    feld[z].onSetFocus = function() {
        if (!geloescht[this.idx]) {
            _this.text = "";
            geloescht[this.idx] = true;
        }
    }
}

Gruß
.
 
Das mit dem onEnterFrame war eigenltich so gedacht, weil es soll ja immer das was im onEnterFrame ist in den Textfeldern stehen, außer jemand klickt auf das Textfeld und jemand schreibt was rein und lässt seine Daten im Feld stehen.

Aber wenn jemand wieder wo anders reinklickt und nicht seine Daten im Feld gelassen hat, soll wieder im Feld das stehen was ich im onEnterframe eingetragen hab.

Und genau das überreis ich nicht wie das funktionieren soll, ich hab das schon mal wo gesehen, nur leider find ich die seite nicht mehr :(
 
Hi,

im Anhang findest Du ein Beispiel, wie man das mit einem Array und einer Schleife recht elegant lösen kann (und zwar ohne onEnterFrame). Vorteil: Wenn jemand nichts eingibt oder seine Eingabe löscht, wird beim Verlassen wieder der Standardtext angezeigt.

Gruß
.
 

Anhänge

Hey, cool danke. Das ganze sieht irgendwie logisch, aus

ich glaub das hab ich kapiert, wie das funktioniert.

1000 mal danke.
 
Zurück