Avatar billede morten_soegaard Nybegynder
06. april 2005 - 17:35 Der er 3 kommentarer og
1 løsning

Keycode og andre browsere

Hej

Jeg har lidt bøvl med at keycode ikke virker i andre browsere fx Firefox. Jeg har så læst nogle spørgsmål her på siden omkring samme spørgsmål men kan stadig ikke få det til at virke.

Koden ser sådan her ud:

function skift2(fPath) {
    var maxChars = 2;
    var reg1 = fPath.reg1.value;
    var reg2 = fPath.reg2.value;
    var reg3 = fPath.reg3.value;
    charsLeftReg2 = maxChars-reg2.length;
    if (charsLeftReg2 == 0) {
        fPath.reg3.focus();
    }
    if ((event.which)?event.which:event.keyCode == 8 && reg2.length == 0) {
        fPath.reg1.focus();
        fPath.reg1.value = reg1;
    }
}   

Og koden er testet i IE og der virker den.

Mvh Morten
Avatar billede skovenborg Nybegynder
06. april 2005 - 23:10 #1
Du har delvist løst en del af problemmet med keyCode ved at bruge which - hvis den eksisterer. Mozilla (i hvert fald de nyeste versioner) understøtter faktisk også keyCode, men det er fint lige at få de ældre versioner med.

Problemmet er nu bare, at event-objectet du henviser til i dit script ikke virker på den måde i firefox (mozilla) - her bliver du nødt til at sende event-objektet med som argument i funktionen (ligesom fPath er et argument).
Nu ved jeg ikke hvordan du har kaldt funktionen, men ved fx en onclick event kunne det se sådan ud:
onclick="skift2(event,fPath);"
dette virker på samme måde ved de andre events.

Inde i funktionen skal du samtidig lave lidt om:
function skift2(e,fPath) {
    var maxChars = 2;
    var reg1 = fPath.reg1.value;
    var reg2 = fPath.reg2.value;
    var reg3 = fPath.reg3.value;
    charsLeftReg2 = maxChars-reg2.length;
    if (charsLeftReg2 == 0) {
        fPath.reg3.focus();
    }
    e = (typeof e == "undefined") ? event : e;
    kCode = (e.keyCode) ? e.keyCode : e.which;
    if (kCode == 8 && reg2.length == 0) {
        fPath.reg1.focus();
        fPath.reg1.value = reg1;
    }
}

Det skulle gerne virke men har ikke lige testet det - ellers må du jo lige sige til :-)
Avatar billede morten_soegaard Nybegynder
07. april 2005 - 15:17 #2
Det fungere fantastisk nu! Jeg siger tak. Du må lige smide et svar så jeg kan give dig nogle points.
Avatar billede skovenborg Nybegynder
07. april 2005 - 17:52 #3
jamen værsgo' da og velbekomme :-)
Avatar billede skovenborg Nybegynder
07. april 2005 - 19:02 #4
og tak for points :-)
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