Avatar billede artery_graphics Nybegynder
28. januar 2002 - 22:00 Der er 21 kommentarer og
2 løsninger

Flash formmail focus

Jeg bruger dette valideringscheck i en formmail i Flash 5 --- men hvordan sætter curser focus på det felt der mangler indtastning i ved submit?

Mvh. Lars



on (release) {
    if (!Name.length) {
        Name = "Enter your name";
    } else if (!Email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
        Email = "Enter valid email";
    } else if (!Comments.length) {
        Comments = "Type your message";
    } else {
        loadVariablesNum ("mailform.asp", "0", "POST");
        EmailStatus = "Message posted ...";
        gotoAndPlay (25);
    }
}
Avatar billede iggi Nybegynder
29. januar 2002 - 00:09 #1
Dette skulle hjælpe dig

on (release) {
    Selection.setFocus("_root.textfieldvariablename");
}

mvh iggi
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 01:02 #2
Hvis der nu klikkes Submit uden et felt er udfyld (FLASH) vil der i feltet f.eks. stå: Enter your name og dette felt vil blive gjort aktivt med din Focus funktion ---- men når brugeren så begynder at indtaste kan feltet så automatisk cleares for teksten: Enter your name?

Lars
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 02:17 #3
Og hvordan kan jeg validerer første indtastningsfelt, så sætningen "Enter your name" ikke accepteres som et godkendt navn ... lige som feltet Email valideres med "@" og "." før dette accepteres som gyldig email?
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 02:25 #4
Det virker iøvrigt ikke med din setFocus !?!
Avatar billede barklund Nybegynder
29. januar 2002 - 10:40 #5
det findes tusindvis af emailvalideringsscript på nettet med reg.exp. Dem må du selv lige søge efter... Flashkit har nogle til flash er jeg sikker på...

I setFocus skal du selvfølgelig skrive navnet på det tekstfelt, som du vil have fokus på med fuld sti, fx:

Selection.setFocus("_root.Email");

kan kun bruges, hvis Email-feltet er i root...

Det feature med, at feltet automatisk skal tømmes for tekst, er så godt som umulig... Det er jo når brugeren klikker i feltet, at den nuværende tekst skal fjernes... Men en omvej kunne være, at du laver et nyt lag, hvori du indsætter et tomt movieClip. På dette skriver du:

onClipEvent(enterFrame) {
if (Selection.getFocus() == _target(_root.Email) && _root.Email eq "Enter valid email") {
    _root.Email = "";
}
}

Skal du bruge mere?

/Barklund
Avatar billede barklund Nybegynder
29. januar 2002 - 10:45 #6
Det skulle være sådan her...

onClipEvent (enterFrame) {
    s = Selection.getFocus().split(".");
    if (s[s.length-1] eq "Email" && _root.Email eq "Enter valid email") {
        _root.Email = "";
    }
}

/Barklund
Avatar billede iggi Nybegynder
29. januar 2002 - 11:25 #7
For at  sætningen "Enter your name"  ikke valideres som et navn kan du indsætte denne kode  i scriptet hvor du tjekker for om name feltet er blevet udfyldt
    if (!Name.length || Name=="Enter your Name") {
        name = "Enter your name";
        Selection.setFocus("_root.name");

mvh iggi
Avatar billede iggi Nybegynder
29. januar 2002 - 11:25 #8
Selection.setFocus("_root.name");

skulle være: Selection.setFocus("_root.Name");
Avatar billede iggi Nybegynder
29. januar 2002 - 11:27 #9
tja hvad har jeg doog gang i jeg prøver igen

For at  sætningen "Enter your name"  ikke valideres som et navn kan du indsætte denne kode  i scriptet hvor du tjekker for om name feltet er blevet udfyldt
    if (!Name.length || Name=="Enter your Name") {
        Name = "Enter your name";
        Selection.setFocus("_root.Name");
Avatar billede barklund Nybegynder
29. januar 2002 - 11:31 #10
iggi>>

Det skal selvfølgelig stå det samme her:

if (Name=="Enter your Name")

og her:

Name = "Enter your name";

Så muligvis vil man lave en tekst, der hedder:

DefaultName = "Enter your name"

som man så kan sammenligne med. Den er hurtigere at opdatere og reducerer fejlkilder...

/Barklund
Avatar billede iggi Nybegynder
29. januar 2002 - 11:44 #11
(: hoho godt spottet, jeg er vist lidt for hurtig på tasterne
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 12:14 #12
Okay .. tak til jer begge. Men blev lige lidt forvirret omkring hvordan det samlede script nu ser ud, da den DefaultName kom ind i billedet... en af jer der gider skærer det ud i pap?

Lars
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 12:54 #13
Jeg har hele min formular liggene på 'mainstage' -- men inde i et MC.
Dette kaldes så fra 'mainstage' med en TellTaget -- men jeg kan ikke få det til at virker med SetFocus, hverken med eller uden _root. !?!

Lars
Avatar billede barklund Nybegynder
29. januar 2002 - 16:23 #14
Hvad hedder det MC som de ligger inden i?

Du skal give dit MC et instance-navn i instance-panelet...

Den fulde sti er så:

_root.mc_instance.Email

Forstår du?

/Barklund
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 16:39 #15
Hmm .. på min 'mainstage' ligger et MC ved navn 'commments' i dette er hele min kommentar formularen inkl. indtastningsfelter 'Name'
Actions for submit knappen ser således ud .. Hvad er der galt?
Der virker stadig ikke med SetFocus funktionen...

on (release) {
    if (!Name.length || Name=="Enter your name") {
        Name = "Enter your name";
        Selection.setFocus(_root.comments.Name);
    } else if (!Email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
        Email = "Enter valid email";
    } else if (!Comments.length || Comments=="Type your message") {
        Comments = "Type your message";
    } else {
        loadVariablesNum ("mailform.asp", "0", "POST");
        EmailStatus = "Message posted ...";
        gotoAndPlay (25);
    }
}
Avatar billede barklund Nybegynder
29. januar 2002 - 16:43 #16
Men har MC'et også et instance-navn i instance-panelet? Det er ikke Library-navnet... Det er en distinkt forskel... Derudover skal det stå i ""  i setFocus()...
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 17:00 #17
Okay .. selvfølgelig havde det et instance-navn ellers kun jeg ikke kalde med TellTarget, men jeg havde glemt ""
Ups! Hov! hva' nu med point mellem dig og Iggi?

Der er bonus, hvis du vil uddybe dit første kommentar lidt. Hvis opretter et tomt MC på et nyt lag .. kan jeg kan ikke gøre brug af OnClip funktionen (not available) 'PÅ' dette MC. Mener du på det eller i det?
Fatter det ikke helt sorry!

Lars
Avatar billede barklund Nybegynder
29. januar 2002 - 17:06 #18
jeg mener, at du indsætter dit MC, klikker på det og i dit actionspanel (der nu hedder Object Actions) paster koden ind...

Men det setFocus jo automatisk markerer alt, hvad der allerede er i tekstfeltet, så vil den gamle tekst jo slettes, når man taster noget nyt... ikke sandt?

Men her er et svar.. Bare fordel mellem os begge...

/Barklund
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 17:07 #19
Hov! Skriver også lige lidt for hurtigt.
DU behøver ikke at uddybe det andet..
bare lad mig vide hva' jeg gør mest fair med point mellem dig og Iggy.

Lars
Avatar billede barklund Nybegynder
29. januar 2002 - 17:09 #20
Fordel ligeligt...
Avatar billede artery_graphics Nybegynder
29. januar 2002 - 17:21 #21
Tak for hjælpen begge to..

Lars
Avatar billede barklund Nybegynder
29. januar 2002 - 17:28 #22
Tarker...
Avatar billede iggi Nybegynder
29. januar 2002 - 18:26 #23
danke (:
mvh iggi
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester