Avatar billede mik28 Seniormester
07. januar 2014 - 17:37 Der er 11 kommentarer og
1 løsning

JQuery fucus

Hej Eksperter

Jeg forstår ikke hvorfor $("#lastName").focus(); ikke virker i Firefox. Det virker fint i både Chrome og Exploder. Det jeg gerne vil opnå er at hvis man taster en forkert værdi ind skal focus være på det felt man kom fra

$(document).ready(function(){
    $('#lastName').blur(function(){            
            if(!/^[a-åA-Å]+$/.test($('#lastName').val())){
                $("#lastNameError").fadeIn(1000);
                $("#lastNameCheckmark").fadeOut(1000);
                $("#lastName").focus();
            }
            else{
                $("#lastNameError").fadeOut(1000);
                $("#lastNameCheckmark").fadeIn(1000);
            }           
    });
});
Avatar billede keysersoze Guru
07. januar 2014 - 19:37 #1
formentlig fordi blur er en fokus-handling og så længe den er i gang kan du ikke sætte focus - så enten skal du pakke din focus() ind i en setTimeout eller også skal du kalde med function(e) og så køre e.preventDefault().
Avatar billede jokkejensen Novice
08. januar 2014 - 11:08 #2
Avatar billede mik28 Seniormester
09. januar 2014 - 11:34 #3
Har prøvet med focusout. Det gør ingen forskel. Hvad er egenligt forskellen på blur og focusout?
Avatar billede mik28 Seniormester
09. januar 2014 - 13:27 #4
Jeg forstår ikke helt problemet. Kan bare konstatere at det ikke virker i Firefox. Hvordan skal koden så se ud?
Avatar billede jokkejensen Novice
09. januar 2014 - 14:15 #5
Har du et link ?
Avatar billede jokkejensen Novice
09. januar 2014 - 14:22 #6
http://jsfiddle.net/QHwZf/1/


virker fint i min FF
Avatar billede mik28 Seniormester
09. januar 2014 - 16:44 #7
Det er $("#lastName").focus(); jeg har problemet med. Jeg vil gerne have at der kommer focus på det felt som ikke er udfyldt korrekt.

http://mikbis.dk/tanja1/kontakt.html
Avatar billede jokkejensen Novice
09. januar 2014 - 18:22 #8
doh, må snart lære at læse spørgsmålet før jeg svarer.. kan godt se den driller lidt, især hvis man forlader feltet så går din focus amok i andre browsere, sec kigger lige på den, men tag at brug jquery validate til andre opgaver, det er enormt meget lettere, og nok også bedre ux.
Avatar billede jokkejensen Novice
09. januar 2014 - 18:34 #9
Det var en bug i jquery, brug

setTimeout(function() {
                    $("#email").focus();
                }, 0);

Men det opføre sig meget mærkeligt, altså hvis man misser første felt går den bare amok med fokus frem og tilbage mellem de 2 første felter.

http://jsfiddle.net/QHwZf/4/
Avatar billede keysersoze Guru
09. januar 2014 - 18:59 #10
Har du overhovedet kigget på mine forslag?
Avatar billede mik28 Seniormester
17. maj 2014 - 10:04 #11
lukker
Avatar billede keysersoze Guru
17. maj 2014 - 10:52 #12
Tak for hjælpen...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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