Seite 1 von 1

direkt bei der eingabe prüfen ob ein feld nur zahlen erhällt

Verfasst: 19.02.2007 11:29
von localhost
hi, also ich weiß ja wie man prüft ob ein feld nur zahlen enthällt, aber bei allen methoden, die ich kenne, wird der eingegebene wert erst nach dem absenden der eingabe überprüft. ich hätte nun gerne ein input feld, bei dem man nur zahlen eingeben kann und wenn man etwas anderes als eine zahl versucht einzutippen, dass diese zeichen erst gar nicht im input feld erscheinen, also einfach ignoriert werden und zwar direkt bei der eingabe. lässt sich soetwas realisieren?

Verfasst: 19.02.2007 16:18
von Banger
Sischadat.

Code: Alles auswählen

<input type="text" onkeyup="this.value=this.value.replace(/[^\d]/, '');" />

Verfasst: 19.02.2007 16:37
von ultracoder
erstmal danke, aber das script funktioniert nicht richtig.


wenn man nur einmal einen buchstaben eintippt gehts noch, aber wenn ich kurz z.b. das "d" durchgedrückt lasse, sodass im eingabefeld z.b. 6 mal "d" steht, dann wird nur das letze "d" ersetzt und die anderen 5 bleibe im eingabefeld stehen.

Verfasst: 19.02.2007 16:44
von Banger
ultracoder hat geschrieben:wenn man nur einmal einen buchstaben eintippt gehts noch, aber wenn ich kurz z.b. das "d" durchgedrückt lasse, sodass im eingabefeld z.b. 6 mal "d" steht, dann wird nur das letze "d" ersetzt und die anderen 5 bleibe im eingabefeld stehen.
Auch kein Problem - gestalten wir die RegEx halt global. ;-)

Code: Alles auswählen

<input type="text" onkeyup="this.value=this.value.replace(/[^\d]/g, '');" />

Verfasst: 19.02.2007 17:28
von ultracoder
ok danke, das geht schonmal soweit, kann man das denn auch so machen, dass die buchstaben erst gar nicht angezeigt werden, also einfach beim eintippen direkt ignoriert werden und auch nicht kurzzeitig im eingabefeld erscheinen?