Avatar billede mini41 Nybegynder
26. marts 2003 - 11:17 Der er 3 kommentarer og
3 løsninger

Forhindre tegnet komma

Jeg har en side, hvor brugeren kan indtaste noget data.
Jeg vil gerne forhindre brugeren i at bruge tegnet "komma".

Det skal virke sådan at hvis brugeren trykker på "komma" på tastaturet så skrives der INGENTING eller også skrives tegnet "punktum"

Hvordan gør jeg det ?
Avatar billede olebole Juniormester
26. marts 2003 - 14:18 #1
<ole>

Det var sparsomme oplysninger ... hvad skrives der i? Hvis det er et form-felt, kan du vel gøre sådan:

<input type="text" onkeyup="if(this.value.indexOf(',')!=-1)this.value=this.value.replace(/,/g,'.');">

/mvh
</bole>
Avatar billede mhylle Nybegynder
26. marts 2003 - 14:27 #2
Hvis der ikke skal ske noget når brugeren indtaster , skal du registrere en eventhandler for at stoppe det:
<input id="myInput" name="myInput" type="text" >
<script language="JavaScript">
function key_press_event_handler(e) {
    //hent keycode
    var whichKey = (window.Event)? e.which : window.event.keyCode;
    // converter keycode til en char
    var realKey = String.fromCharCode(whichKey);
    if (realKey == ",") {
        return false;
    }
}
//register eventhandlers for vores input felt
var tag= document.getElementById("myInput");

(window.Event) ? tag.captureEvents(Event.KEYPRESS): tag.onkeypress = key_press_event_handler;
</script>
Avatar billede olebole Juniormester
26. marts 2003 - 22:02 #3
mhylle >> Back to the drawingboard (den har du da vist ikke testet i NS)  ;o)
/mvh
Avatar billede mhylle Nybegynder
26. marts 2003 - 23:47 #4
Hmm, det har du da egentligt ret i. Det er ved at være for lang tid siden jeg har lavet kode til NS :)
Kan sgu kun få den til at stoppe det i IE.
Med den her kode i stedet for  koden under //register event.....
var tag = document.getElementById("myInput");
if (window.Event) {
document.captureEvents(Event.KEYPRESS);
}
tag.onkeypress = key_press_event_handler;

kan jeg få ns6 til at opdage at der er trykket på , men damnit om jeg kan få den til at stoppe inputtet.
Så med mindre du har et godt forslag olebole må vi jo nok sige at min kode er IE only..
Avatar billede olebole Juniormester
27. marts 2003 - 00:28 #5
For at få event'en overført, skal du lægge event-registreringen på dokumentet - og i funktionen checke, om event'en kommer fra feltet. Det er dog ren overkill og spild af resourcer at skulle checke på hvert keyup i hele dokumentet.
Hvorfor ikke bare lade brugeren skrive sit komma og rette det, så snart han slipper tasten?
/mvh
Avatar billede mini41 Nybegynder
04. april 2003 - 15:23 #6
Jeg har selv fundet en anden løsning, vi deler point.
Tak for hjælpen.
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