Avatar billede perhans Novice
18. december 2001 - 15:09 Der er 7 kommentarer og
1 løsning

Slet et tegn

Jeg vil gerne kunne bruge nogle shortcuts i min HTML form og har derfor lavet et lille script der fanger bestemte tegn og så gør noget alt efter hvilket tegn man tar tastet:
function checkKey(event) {
    var code = 0;
    if (NS4) {
        code = event.which;
    } else {
        code = event.keyCode;
    }
    if (code == 167) {
        document.DataInput.submit();
    } else if (code == 164) {
        VisData(document.DataInput);
    }
}
Mit problem er at når man f.eks taster § (=167) så kommer det til at stå i det formelement man nu tilfældigvis står i og det var jo ikke meningen. Hvordan undgår man det?
Avatar billede perhans Novice
18. december 2001 - 15:10 #1
Som titlen antyder er mit spørgsmål også om man evt. kan slette et tegn tv. for curseren vhf. javascript?
Avatar billede Slettet bruger
18. december 2001 - 16:35 #2
Du kan vist bare returnere false. Prøv dette:

<textarea name=\"ta\" onKeyDown=\"checkKey(); return false;\">
Tekst
</textarea>
Avatar billede perhans Novice
18. december 2001 - 22:09 #3
Jeg kalder scriptet med
<BODY onLoad=\"focus();\" onKeyPress=\"checkKey(event); return false;\">
og det virker fint i IE men ikke i Netscape 4.76 (scriptet bliver ikke udført). Har du også en ide til hvordan man får det til at virke i Netscape?
Avatar billede Slettet bruger
19. december 2001 - 14:31 #4
Jeg tror det kan hjælpe, hvis du skriver kden sådan her:

function checkKey(evt) {
    var code = 0;
    if (NS4) {
        code = evt.which;
    } else {
        code = evt.keyCode;
    }
    if (code == 167) {
        document.DataInput.submit();
    } else if (code == 164) {
        VisData(document.DataInput);
    }
}

Scriptet skal stadig kaldes på samme måde!
Avatar billede perhans Novice
19. december 2001 - 15:23 #5
Nej det virker heller ikke i Netscape. :-(
Avatar billede Slettet bruger
19. december 2001 - 15:30 #6
Hvordan ser variablen \"NS4\" ud?
Avatar billede perhans Novice
19. december 2001 - 15:38 #7
NS4 = (document.layers) ? true : false;

Jeg har lige fundet ud af at med den metode du skitserede kommer der overhovedet ikke noget ind i form elementerne så jeg kalder i stedet scriptet med
onKeyPress=\"return checkKey(event);\"

og returnere så true eller false i mit script og det virker fint i IE men ikke i Netscape.
Avatar billede Slettet bruger
19. december 2001 - 22:15 #8
Så må jeg give op. Det kan være jeg finder et svar senere, men umiddelbart kan jeg ikke få øje på noget! :(
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