Avatar billede musicboy Nybegynder
08. januar 2003 - 08:51 Der er 2 kommentarer

Validering af tegn i NS

Jeg har en lille funktion, der ved onKeyPress udføre dette lille stykke arbejde;

function tjekInput() {
  var gyldigeTegn = "abcdefghijklmnopqrstuvxyzæøå1234567890_- ";
  var c = String.fromCharCode(event.keyCode);
  var cl = c.toLowerCase();

  if(gyldigeTegn.indexOf(cl) >= 0) {
      return
  }
  else {
      event.returnValue = false;
  }
}

Men desværre virker den kun i IE, og skulle også gerne være NS-kompatibel... Jeg går ud fra det er "event" NS ikke forstår?
Avatar billede musicboy Nybegynder
08. januar 2003 - 09:39 #1
function checkIt(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        event.returnValue = false;
        // return false;
    }
    return true;
}

virker fint (dog kun lige med tal, mend et kan jo ændres) - men hvordan fortæller jeg NS, at den IKKE skal skrive bogstavet, hvis det ikke er gyldigt?!?
Avatar billede Slettet bruger
08. januar 2003 - 16:23 #2
Dette virker i både IE6 og NS7:

<html>
<head>
<script>
gt = "abcdefghijklmnopqrstuvxyzæøå1234567890_- ";

function tjek(e) {
kc = (document.all) ? event.keyCode : e.which;
return (gt.indexOf(String.fromCharCode(kc).toLowerCase()) == -1) ? false : true;
}
</script>
</head>
<body>
<form>
<input type="text" onKeyPress="return tjek(event);">
</form>
</body>
</html>

Desuden udelukker det ikke brugen af store bogstaver, som dit script gør.
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