Avatar billede heyn Nybegynder
16. december 2014 - 12:46 Der er 7 kommentarer og
1 løsning

JQuery - Fjern æ, ø og å ved input

Hej Eksperter

Jeg har en loginform hvor jeg ønsker at fjerne æ, ø og å når de indsættes, så det virker som om tastaturet ikke fungerer med disse taster. Faktisk er det ikke bare æ, ø og å men alle andre karakterer end a..z, A..Z og 0..9, men backspace, delete og enter skal dog stadig fungere.
Jeg kan godt registrere de forkerte tegn med en funktion

$('#brugernavn').bind('keypress', function (event) {
...
});

Men hvordan undgår jeg at key bliver fjernet før der køres

$('#brugernavn').bind('input', function () {
...
});
Avatar billede HBP2 Praktikant
17. december 2014 - 21:15 #1
Avatar billede heyn Nybegynder
19. december 2014 - 14:01 #2
Jeg prøvede

$("#brugernavn").bind("keypress", function(e) {
  key = e.which;
/*
8 = keycode BACKSPACE, 9 = keycode TAB, 13 = keycode ENTER, 16 = keycode SHIFT
35 = keycode END, 36 = keycode HOME, 37 = keycode ARROW LEFT, 39 = keycode ARROW RIGHT
48 - 57 = keycode 0 - 9, 65 - 90 = keycode a - z, 65 - 90 = keycode NUMPAD 0 - 9
*/
  if (key == 8 || key == 9 || key == 13 || key == 16 || key == 35 || key == 36 || key == 37 || key == 39 || (key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 96 && key <= 105))

  {
    return true;
  }
  else {
      e.preventDefault();
      return false;
  }
});

For de fleste keys fungerer det, men så aligevel ikke.
F.eks. bliver q, r, j og andre blokeret.
Avatar billede heyn Nybegynder
19. december 2014 - 17:18 #3
Med lidt alert har jeg fundet ud af at keycode for q i min kode giver 113.
Det jeg ikke forstår er at på følgende websted giver er keycode for q = 81
http://api.jquery.com/event.which/
Avatar billede heyn Nybegynder
19. december 2014 - 17:39 #4
Det virker som om ovenstående adresse viser én keycode mens min viser det oprindelige latin charcode set
Avatar billede heyn Nybegynder
19. december 2014 - 21:46 #5
http://api.jquery.com/event.which/ registrerer shift-key, det gør min ikke!
Avatar billede heyn Nybegynder
20. december 2014 - 12:48 #6
Ah -

Ved keypress giver e.which ASCII af input.
Ved keydown og -up giver e.which keycode.

Smid et svar
Avatar billede heyn Nybegynder
04. januar 2015 - 01:03 #7
Svaret???
Avatar billede heyn Nybegynder
25. marts 2015 - 20:06 #8
Nå - Så må jeg desværre svare selv
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

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