[Javascript]:Tastatureingaben in Textfelder abfangen
von Sven Mintel
am 21.04.10 um 14:25 (1310 Hits)
Öfters kommen mal Fragen, wie man bestimmte Zeicheneingaben in Textfelder verhindern kann.
Hier eine von mehreren Möglichkeiten:
- Was:
Fängt Tastatureingaben in Textfelder ab und kann sie bei Bedarf canceln oder durch etwas anderes ersetzen- Wo:
onkeypress-Event des Textfeldes- Wer:
Habs getestet in
- IE 6-7
- Firefox
- Chrome
- Opera
- Safari
- Wie:
Beispielcode
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="author" content="doktormolle" /> <meta name="date" content="2010-04-21" /> <title>Test</title> <script type="text/javascript"> <!-- /** * function fx * * Verhindert Eingabe bestimmter Zeichen in Formularfelder per Key-Event * Optional: Ersetzen der Zeichen * * @param object e KEY-Event * @param object|integer p regulärer Ausdruck oder KeyCode * @param string r OPTIONAL Replacement * @return boolean **/ function fx(e,p,r) { var key=(e.charCode)?e.charCode:e.keyCode; if( (!isNaN(p) && p==key) || (isNaN(p) && !p.test(String.fromCharCode(key))) ) { if(r) { try{//IE document.selection.createRange().text=r; } catch(x) {//andere var o = e.target var intStart = o.selectionStart; var intEnd = o.selectionEnd; o.value = (o.value).substring(0, intStart) + r + (o.value).substring(intEnd, o.value.length); o.selectionStart=o.selectionEnd=intStart+r.length; o.focus(); } } return false; } return true; } //--> </script> </head> <body> <input onkeypress="return fx(event,/[\d]/)">nur Zahlen<br/> <input onkeypress="return fx(event,/[^\d]/)">keine Zahlen<br/> <input onkeypress="return fx(event,/[a-z]/i)">nur Buchstaben A-Z<br/> <input onkeypress="return fx(event,8364,'EURO')">kein €<br/> </body> </html>




!["[Javascript]:Tastatureingaben in Textfelder abfangen" bei Twitter speichern](http://style.tutorials.de/v10/images/misc/twitter-25.png)
!["[Javascript]:Tastatureingaben in Textfelder abfangen" bei Facebook speichern](http://style.tutorials.de/v10/images/misc/facebook-25.png)
