23. juli 2007 - 11:31Der er
10 kommentarer og 2 løsninger
Skift felt ved Enter?
Hej
Kan man lave noget javascript, der gør det muligt, at skifte til næste formularfelt ved tryk på Enter (ved de nummeriske taster)?
Hvis ja, hvordan? Kan nogen henvise til kode / eksempel?
Jeg er godt klar over, at det måske ikke vil være så hensigtsmæssigt at implementere den mulighed, men jeg har fået forespørgslen fra en bruger, og vil lige undersøge muligheden.
Du kan ikke (så vidt jeg ved) få den til at reagere _kun_ ved tryk på enter ved de nummeriske taster. De er begge enter-taster, det gælder, er jeg bange for.
Prøv at se på det her kodeeksempel: ------------------------------------ <script type="text/JavaScript" language="JavaScript"> function showkey(KeyCode) { if(KeyCode==13){document.getElementById("felt2").focus()} } </script>
<p><input type="text" value="Sæt markøren her og tryk på enter" onKeyDown="showkey(event.keyCode)"></p>
Hov, variablen må vist ikke hedde keycode.. ------------------------ <script type="text/JavaScript" language="JavaScript"> function showkey(strkey) { if(strkey==13){document.getElementById("felt2").focus()} } </script>
<p><input type="text" value="Sæt markøren her og tryk på enter" onKeyDown="showkey(event.keyCode)"></p>
Mange tak det ser ud til at fungere, men det ja, det gælder også den anden Enter-tast.
Jeg har fået hjælp til et script, der forhindrer formularen i at blive submittet ved tryk på enter-tasten. Så måske kan man lave en kombination af de to scripts.
Jeg venter lige og ser, om her skulle komme andre bud. Ellers går pointene naturligvis til dig.
Du kan ikke diskriminere mellem de to Enter-knapper, men denne kode gør ellers, hvad du gerne vil og undlader at sende formen på Enter. Desuden kan du navngive det nye felt - du gerne vil ned til - der, hvor du kalder funktionen:
<script type="text/JavaScript" language="JavaScript"> function showkey(e, sNextID) { e = e ? e : event; if(e.keyCode==13){ document.getElementById(sNextID).focus(); if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); e.cancelBubble = true; e.returnValue = false; } } </script>
<p><input type="text" value="Sæt markøren her og tryk på enter" onKeyDown="showkey(event, 'felt2')"></p>
Ja, undskyld de forskellige scripts herover ser ud til at fungere efter hensigten. Er det w13 eller olebole der skal have points, eller skal de dele dem?
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.