Hej.
Jeg er igang med at lave en slags krydsord hvor man indtaster ét bogstav i et input.
Når man har indtastet et bogstav i feltet springer den automatisk til næste felt og det kan jeg lave sådan:
<script type="text/javascript">
function inputTjek(felt)
{
if(document.captureEvents)
{
if(Event.KEYUP)
{
document.captureEvents(Event.KEYUP);
}
}
document.onkeyup = tast;
function tast(e)
{
if(!e)
{
if(window.event )
{
e = window.event;
}
else
{
return;
}
}
if(typeof(e.which) == 'number')
{
e = e.which;
}
else if(typeof(e.keyCode) == 'number')
{
e = e.keyCode;
}
else if(typeof(e.charCode) == 'number')
{
e = e.charCode;
}
else
{
return;
}
if (felt == 1)
{
var markeretFelt = document.form1.felt1.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57))
{
if (markeretFelt.length == 1 && felt < 98)
{
document.form1.felt2.focus();
}
}
}
}
}
</script>
<form name="form1" method="post" action="" />
<input name="felt1" maxlength="1" style="width:30px;text-align:center;" onkeyup="javascript:inputTjek(1);" /> -
<input name="felt2" maxlength="1" style="width:30px;text-align:center;" onkeyup="javascript:inputTjek(2);" />
</form>
Men jeg har 98 felter og det betyder at jeg skal ligge dette ind i mit JavaScript 98 gange:
if (felt == 1)
{
var markeretFelt = document.form1.felt1.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57))
{
if (markeretFelt.length == 1 && felt < 98)
{
document.form1.felt2.focus();
}
}
}
Og så tænkte jeg om der måske ikke var en nemmere måde at gøre det på?
På forhånd tak.
- Simon