Så här kan man göra. Om det är den bästa / rättaste lösningen har jag dock ingen aning om.
onkeyup="if(event.keyCode!=37 && event.keyCode!=39) this.value=this.value.replace(/\D/g,'');"
Mvh
10 svar · 415 visningar · startad av Palle
Jag använder följande kod för att förhindra att annat än siffror anges i formuäret:
[red]onkeyup="this.value=this.value.replace(/\D/g,'');"[/red]
Tyvärr så kan man heller inte flytta markören framåt och bakåt med piltangenterna
i textfältet om man skulle vilja ändra på det som man skrivit in.
Någon som har en lösning på detta? :)
Så här kan man göra. Om det är den bästa / rättaste lösningen har jag dock ingen aning om.
onkeyup="if(event.keyCode!=37 && event.keyCode!=39) this.value=this.value.replace(/\D/g,'');"
Mvh
Fungerar prima, tackar! :bire
Fungerar inte alls helt prima, ju. ;)
Visst kan man flytta markören med piltangenterna, men ändrar man något i fältet hamnar markören sist i alla fall.
(Jag sitter och jobbar med samma problem, men jag funderar på om man helt enkelt ska göra ersättningen onblur istället.
Mvh
Nja, ok då.. om man ska hårddra det. ;)
Så här kanske:
<input type="text" onkeyup="if(!this.value.match(/^\d+$/)){ this.value=this.value.replace(/\D/g,''); }">
Jojoxx: Nu är vi nära mitt mål, dock inte helt perfektionerat ännu. ;) :e
Skriver man in ex '123' och sedan ändrar '1' till ex. 'D' så tas bokstaven bort - korrekt,
dock så hoppar nu curson till sista plats i textfältet igen, och det vill jag gärna undvika om det går.
Jag vill att bokstaven ska tas bort men att curson ligger kvar på platsen där bokstaven fanns.
Går det? :)
Det finns ingen funktion typ "this.returnCursorToWhereItUsedToBeCauseThatsWhereWeWantIt()" som man kan köra inne i if-satsen? ;)
Jag kan dela på den med Palle. :)
Jag passar på att tacka Jojoxx jag också, trots att det inte är min tråd, för nu ser min funktion ut så här, och fungerar finemang:
function replaceChars(obj) {
if(obj.value.match(/<|>/g))
obj.value=obj.value.replace(/<|>/g,'');
}
Kanske kan den här tråden vara av intresse:
http://webxpertz.net/forums/showthread.php?t=29760
Tack för trevlig länk, spango! :)
Jag har skrivit så här på ett ställe:
function isDigit()
{
return ((event.keyCode >= 48) && (event.keyCode <= 57));
}
<input type="text" name="x" onKeyPress="event.returnValue = isDigit();">
Förhindrar ju inte paste och liknande, men i kombination med Jojoxx script eller ännu hellre en kontroll i onSubmit så skulle det funka bra. :)