Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-10-2004, 10:33   #1 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
?tabtaste wechsle das textfeld?

Hallo zusammen,

In meinem Formular wird dem ersten Textfeld der focus wie folgt gegeben.
ActionScript:
  1. Selection.setFocus("name_txt");

wenn ich nach dem Eintrag oder auch ohne Eintrag den Focus auf das nächtse
Textfeld mit der tabtaste gehen will geht das nicht.

Es gibt ja eine "onKillFocus" Ereignisprozedur, jedoch weiß ich nicht wie ich das
einsetzen kann, da ich ja auch die tabtaste abfragen muß.

Hat jemand nen plan wie ich den focus von meinem ersten Textfeld auf das
zweite textfeld usw. bringen kann?
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]

Geändert von wasi1 (18-10-2004 um 10:34 Uhr)
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 10:38   #2 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Ähhm... Für mich klingt das, als hättest du nicht richtig verstanden was die Function diese beiden Methoden ist:
Selection.setFocus(id) ist nicht gleich myTextField.setFocus
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 18-10-2004, 10:46   #3 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
PHP-Code:
//TextField.onSetFocus
for (i=0;i<10;i++) {
    
_root.createTextField("t" ii0010020);
    
_root["t" i].text "Text Nr. " i;
    
    
_root["t" i].type "input";
    
_root["t" i].border true;
    
    
_root["t" i]._x = (i%5)*102;
    
_root["t" i]._y Math.floor(i/5)*22;
    
    
_root["t" i].tabIndex i;
    
    
_root["t" i].onSetFocus = function() {
        
this.text "";
    }

PHP-Code:
//Selection.setFocus
for (i=0;i<10;i++) {
    
_root.createTextField("t" ii0010020);
    
_root["t" i].text "Text Nr. " i;
    
    
_root["t" i].type "input";
    
_root["t" i].border true;
    
    
_root["t" i]._x = (i%5)*102;
    
_root["t" i]._y Math.floor(i/5)*22;
    
    
_root["t" i].tabIndex i;
    
    
Selection.setFocus(_root["t" i]);

__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 18-10-2004, 10:48   #4 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Scheint wohl so zu sein daher auch meine Frage, wobei ich den Focus
auch per
ActionScript:
  1. textfeld.onSetFocus = function(alterFokus){
  2.     anweisungen;
  3. }
geben kann, aber auch da keinen schimmer?

Du kannst mir das ja erklären.
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 10:51   #5 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Was erklären? Die Methoden ?

Kannst dir ja die beiden Beispiele oben angucken ...
__________________
www.johannes-erhardt.com | blog | xing me baby
FLASHStyler ist offline   Mit Zitat antworten
Alt 18-10-2004, 10:57   #6 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Sorry, ist mir zu hoch, die textfelder bestehen ja schon,
es soll das erste Textfeld den Focus erhalten, beim laden des films,
dann soll per tabtaste der cursor auf das nächts Textfeld gehen, das
würde für mich reichen, den rest werde ich, hoffe ich ,hinbekommen.
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 11:01   #7 (permalink)
FlashLove@FirstSight
 
Benutzerbild von FLASHStyler
 
Registriert seit: Feb 2003
Beiträge: 2.460
Zitat:
soll das erste Textfeld den Focus erhalten
Das legst du mit:
PHP-Code:
myTextField.onSetFocus = function () { //tue was } 
fest.
Zitat:
dann soll per tabtaste der cursor auf das nächts Textfeld gehen
Dazu musst du den Tab Index festlegen:
PHP-Code:
TextFieldOne.tabIndex 1;
TextFieldTwo.tabIndex 2;
TextFieldThree.tabIndex 3
, damit eine geordnete/ feste Reihenfolge entsteht.

Wenn die Textfelder manuell auf der Bühne erstellt werden, dann würd ich die Instanznamen dieser in ein Array packen und durch eine For- Schleife jagen (siehe Bsp.)
Angehängte Dateien
Dateityp: zip focus.zip (2,0 KB, 30x aufgerufen)
__________________
www.johannes-erhardt.com | blog | xing me baby

Geändert von FLASHStyler (18-10-2004 um 11:09 Uhr)
FLASHStyler ist offline   Mit Zitat antworten
Alt 18-10-2004, 11:21   #8 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Den focus erhält das textfeld aber nicht wenn ich das angebe:
ActionScript:
  1. myTextField.onSetFocus = function () { Anweisung;}

Wobei ich auch nicht weiß was für ne Anweisung ich da geben soll.

tabIndex hab ich schon vergeben!
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]

Geändert von wasi1 (18-10-2004 um 11:23 Uhr)
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 11:35   #9 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
mit

PHP-Code:
Selection.setFocus(deinTextfield); 
setzt du den focus auf "deinTextfield".
dabei wird AUTOMATISCH die onFocus-Fkt des textfeldes aufgerufen (falls du diese definiert hast).

du kannst zum beispiel die textFeld.onFocus - funktion definieren, um den inhalt des textfeldes zu löschen, wenn das feld den focus erhält.

PHP-Code:
deinTextfield.onFocus = function(){
   
this.text="";

außerdem ist es auch möglich, anweisung beim verlieren des focus auszuführen. die onKillFocus-fkt wird ebenfalls automatisch aufgerufen, diesmal halt wenn das TF de focus verliert.
ein beispiel wäre, daß du wenn das feld leer ist es mit einem standardwert füllst:

PHP-Code:
deinTextfield.onKillFocus = function(){

   if (
this.text ""this.text "ihr name";


halt nochmal explizit fürs verständnis:

onFocus und onKillFocus werden immer AUTOMATISCH aufgerufen wenn der focus auf das feld gesetzt wird, bzw. es den focus verliert.

den focus auf ein beliebiges element setzen geht NUR mit Selection.setFocus(id)


madFlanderz
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (18-10-2004 um 11:40 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 18-10-2004, 11:38   #10 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Hab jetzt nochmal in der Flashilfe nachgeschaut und das steht
für dieses script:
ActionScript:
  1. textfeld.onSetFocus = function(alterFokus){
  2.     anweisungen;
  3. }

folgender Text:
"Ereignisprozedur; wird aufgerufen, wenn ein Textfeld den Tastaturfokus erhält."

Das heißt ja dann, das der Focus noch garnicht vergeben wurde, aber genau das
soll ja das erste Textfeld bekommen wenn der Film oder diese .swf geladen wird, wie kann ich das machen?
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 11:41   #11 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
@maddin79, dann war ja mein erster eintrag mit dem Focus schon o.k.?
Mit dem:

ActionScript:
  1. Selection.setFocus("name_txt");
Aber wie oben schon beschrieben kann ich dann über die Tabtaste nicht mehr
wechseln, obwohl ich den TabIndex festgelegt habe.
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 12:27   #12 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Ich steh im Wald !

O.K., wie das jetzt mit:
ActionScript:
  1. deinTextfield.onKillFocus = function(){
  2.  
  3.    if (this.text = "") this.text = "ihr name";
  4. }
  5.  
  6.  //und
  7.  
  8. deinTextfield.onSetFocus = function(){
  9.    this.text="";
  10. }
  11.  
  12. //und
  13.  
  14. textfeld.onSetFocus = function(alterFokus){
  15.     anweisungen;
  16. }

funktioniert ist soweit klar.

Hilft aber nicht wirklich weiter ,

wie machts den Ihr wenn das Textfeld den focus mit
ActionScript:
  1. Selection.setFocus(name_txt);
erhalten hat und nach drücken der Tabtaste soll der Focus an das nächste textfeld
weiter gegeben werden?

Steh ich auf dem schlauch (schau rechts, guck links).
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]

Geändert von wasi1 (18-10-2004 um 12:30 Uhr)
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 14:34   #13 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Hab das hier jetzt mal in der Flashhilfe gelesen:

Zitat:
Wenn im Parameter variablenpfad der Zielpfad einer Schaltflächeninstanz
übergeben wird, erhält diese Schaltfläche den Fokus. Wenn im Parameter
variablenpfad der Zielpfad einer Textfeldinstanz übergeben wird, erhält dieses
Textfeld den Fokus. Bei Übergabe von null wird der aktuelle Fokus entfernt.
Meine frage dazu ist, wie kann ich null übergeben das der Fokus entfernt wird?

So sieht im moment mein script aus.

ActionScript:
  1. //Textfeld den Focus geben
  2. Selection.setFocus("name_txt");
  3.    
  4.  
  5. // TabIndex zuweisen
  6. name_txt.tabIndex = 0;
  7. nachname_txt.tabIndex = 1;
  8. firma_txt.tabIndex = 2;
  9. strasse_txt.tabIndex = 3;
  10. plz_txt.tabIndex = 4;
  11. ort_txt.tabIndex = 5;
  12. telefon_txt.tabIndex = 6;
  13. mobil_txt.tabIndex = 7;
  14. mail_txt.tabIndex = 8;
  15. kommentar_txt.tabIndex = 9;

Bin für jede Hilfe dankbar
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]

Geändert von wasi1 (18-10-2004 um 14:38 Uhr)
wasi1 ist offline   Mit Zitat antworten
Alt 18-10-2004, 19:04   #14 (permalink)
Der Alte
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 208
Zitat:
Meine frage dazu ist, wie kann ich null übergeben das der Fokus entfernt wird?
Code:
selection.SetFocus(null);
mfG
__________________
mfG

http://www.1ststeps.de
Billi_I ist offline   Mit Zitat antworten
Alt 19-10-2004, 11:06   #15 (permalink)
learn about
 
Benutzerbild von wasi1
 
Registriert seit: Oct 2003
Ort: Weingarten \ South Germany
Beiträge: 1.205
Hallo @Billi_I,
das funktioniert,
Zitat:
Zitat von Billi_I
Code:
selection.SetFocus(null);
jetzt muß ich nur noch das irgendwie hinbekommen das
ich das so einbaue das der TabIndex auch funktioniert und nicht alles
nach dem ich den Focus folgend gesetzt habe
ActionScript:
  1. selection.SetFocus("name_txt");

weder die Tabtaste noch andere Tastatureingabe funktionieren, erst wenn ich
mit der Maus in das Textfeld klicke funktioniert alles bestens.

Jemand ne ahnung woran das liegt?
__________________
MFG Wasi...

Aus dem Süden...

Immer mit dabei und so weiter...
__________________

[Der Store!] [Der Coole!]
wasi1 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 09:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele