webForumDet fria alternativet

Auto tabb'a till nästa input

2 svar · 301 visningar · startad av Danielkun

DanielkunMedlem sedan maj 2003361 inlägg
#1

Jag vill lägga till en Auto-tab funktion till scriptet nedan så man slipper trycka på tab varje gång man ska byta fält.
Jag vill inte använda mig av input fältets NAME tag. Istället vill jag lösa det med ID tagen men det blir fel på koden som är i fet text.
Nån som vet varför?

<html>
<head>

<script language="JavaScript">
<!--
function daniel(ivalue,objid){
if(ivalue=="A" || ivalue=="a"){ document.getElementById(objid).className='A'; }
if(ivalue=="B" || ivalue=="b"){ document.getElementById(objid).className='B'; }
if(ivalue=="C" || ivalue=="c"){ document.getElementById(objid).className='C'; }

var autotab = objid+1;
[B]document.getElementById(autotab).focus();[/B] 
}
//-->
</script>

<style type="text/css">
input.A { background-color: #FFCCCC; }
input.B { background-color: #CCFFFF; }
input.C { background-color: #FFE6CC; }
</style>

</head>
<body>

<form>
<INPUT maxlength="1" TYPE="text" onchange="daniel(this.value, 1)" ID="1">
<INPUT maxlength="1" TYPE="text" onchange="daniel(this.value, 2)" ID="2">
<INPUT maxlength="1" TYPE="text" onchange="daniel(this.value, 3)" ID="3">
</form>

</body>
</html>
colioneMedlem sedan juni 20014 421 inlägg
#2

de är för att onchange triggar när du lämnar rutan, det är då som ändringen först är gjord tycker javascript-tolken.

prova att byta mot onkeydown eller onkeyup

DanielkunMedlem sedan maj 2003361 inlägg
#3

Tack!
Det funkar perfekt med "onkeyup".

Fast nu har jag ett litet annat problem. Vilket knappnedtryck som helst får markören att hoppa vidare (Backspace, shift osv..) så jag behöver kolla om det inmatade tecknet är en bokstav eller ej.

Till det så skrev jag detta och det funkar på tecken men inte på kommandon som tex. backspace, tab, shift osv..

Hur godkänner jag endast A-Z och ignoerar backspace, shift...?

var danielchk=/[^a-zA-Z]/;
if (ivalue.search(danielchk)==-1){ document.getElementById(autotab).focus(); }
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)