Avatar billede nightowl24 Nybegynder
15. september 2003 - 08:47 Der er 2 kommentarer og
1 løsning

Flytte fokus når inputfelt når max længde

Hejsa

Hvordan får jeg flyttet fokus til det næste inputfelt, når
det aktuelle felt er nået maxlength?

Mvh. Brian
Avatar billede -mundi- Nybegynder
15. september 2003 - 09:00 #1
<script language="JavaScript">
    function nextfocus(field,nextfield,limit){
        if(field.value.length>=limit){
            field.value=field.value.substring(0,limit);
            document.getElementById(nextfield).focus();
        }
    }
</script>
<input type="text" name="test" onkeyup="return nextfocus(this,'test2',2);">
<input type="text" name="test2">
Avatar billede nightowl24 Nybegynder
15. september 2003 - 09:05 #2
Tak for det.
Avatar billede bearhugx Nybegynder
15. september 2003 - 11:45 #3
der er dog et problem med ovenstående kode, som gør sig gældende i to tilfælde

1) hvis du står i test2 kan du ikke komme tilbage til test1 uden at bruge musen... Den logiske forklaring er selvfølgelig at bruger du en genvejstast (f.eks. SHIFT-TAB) for at komme tilbage, vil dette også udløse en keyUp event -- og fokus vil blive ført til test2 igen.

2) forestil dig at du så vil ændre noget i test1 - du bruger musen til at få fokus i feltet og...
  - med mindre du bruger BACKSPACE (<---) som så sletter det bagerste tegn, så vil du ikke kunne ændre data i feltet... Prøv f.eks. at bruge piltasterne til at flytte hen til et tegn, der skal ændres --- piltasterne laver også keyUp events... du vil ikke kunne placere din markør nogle steder i feltet test1 uden enten
1) slette min. et tegn, så maksimum ikke længere er nået
2) bruge musen til at placere markøren


Der er måder, dette kan undgås på, f.eks. ved at teste keyCode på eventen - hvis det er TAB, SHIFT-TAB, eller en af piltasterne, så kan man sige at der ikke er sket nogen ændring og derfor skal der ikke rykkes videre til næste felt.... På IE kan man også arbejde med "onPropertyChange"-eventen...

/Søren
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel