Avatar billede simseboii Nybegynder
17. april 2007 - 18:25 Der er 2 kommentarer og
1 løsning

Spring til næste felt

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:
Kode

<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="java script:inputTjek(1);" /> -
<input  name="felt2" maxlength="1" style="width:30px;text-align:center;" onkeyup="java script:inputTjek(2);" />
</form>



Men jeg har 98 felter og det betyder at jeg skal ligge dette ind i mit JavaScript 98 gange:
Kode

        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
Avatar billede mccookie Seniormester
17. april 2007 - 19:18 #1
Du skal nok placerer dit spørgsmå i javascript sektionen ;)
Avatar billede simseboii Nybegynder
17. april 2007 - 20:35 #2
Hej.
Ja, undskyld. Gammel vane.
Avatar billede simseboii Nybegynder
17. april 2007 - 20:36 #3
Jeg lukker det lige og smider det ind i den rigtige kategori.
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