Hallo Christian!
hab mir hier nicht alles durchgelesen, aber verwende das keypress Event.
Wurde das schon vorgeschlagen?Nein, danke!
Dort hast du charCode oder keyCode (je nach Browser), daraus machst du mit String.fromCharCode das Zeichen.
Meinst du charCodeAt()?
Nein. fromCharCode
und wenn ich im Beispiel von keycode() eine Taste drücke erscheint immer ein Alert mit "0".
Es kommt halt auf den Browser an. IE hat den Character Code beim keypress in keyCode, andere in charCode.
Müsste ich sowas machen?
function onlynum(self){
var foo = self.keyCode;
var bar = String.fromCharCode(foo);
if(!bar.match(/[1]$/) && !self == "") {
alert(self);
}
}
Ja, so in etwa.
eher so:
~~~javascript
function onlynum(e){
var foo = e.charCode || e.keyCode;
var bar = String.fromCharCode(foo);
if(!bar.match(/^[0-9]$/)) {
e.preventDefault(); // je nach Browser und Eventregistrierung
}
}
Hm nee... da seh ich selbst schon, dass das irgendwie so nichts wird....
Ich versteh die 3 von dir genannten Funktionen nicht ganz :(
charCodeAt() erwartet z.B. einen Parameter. Hab ich denn einen? Woher weiß ich welche Stelle ich brauch oder kommt dort immer "0" rein?
String.fromCharCode brauchst du, wie gesagt.
mittels preventDefault/returnValue= false oder return false, je nach Implementierung deines Events.
Bahnhof. Oder meinst du einfach am Ende der Funktion ein return false; rein und fertig?
Vielleicht hilft das: < http://www.quirksmode.org/js/events_early.html>
und die vielen anderen hilfreichen Artikel auf quirksmode.org zum Event Modell.
Gruß!
0-9 ↩︎