Bestimme Zeichen in Textfeld verbieten
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfangen
anfang
bestimmte buchstaben
bestimmte zeichen
buchstabe
code
datum
eingabe
funktion
gefunden code
helfen
http
komplette code
mann
moment
problem
start
textfeld
url
verhindern
-
ich habe ein Textfeld bei welchen ich mit javascript kontrolliere ob verbotene Zeichen drin sind und diese mit .replace entferne und den Wert dann dem Textfeld wieder zuweise:
function restrict(pTextField) { pTextField.value = pTextField.value.replace (/([^a-zA-Z0-9öäüÖÄÜß_.()?! -])/g, ""); }
Das funktioniert prima, nur wenn man mehr eingibt, als das das Textfeld lang ist, sieht man bei jedem eingeben eines Buchstaben, den Anfang des Textfeldes.
Hier der komplette Code:
http://unlikus.lima-city.de
Meine Frage: Wie kann ich das unterbinden
Kann mir keiner Helfen?
Eine andere Möglcihkeit nur bestimmte Zeichen zuzulassen, würde mir auch helfen
Beitrag zuletzt geändert: 27.1.2013 21:55:31 von unlikus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi unlikus,
du könntest diese Funktion durchführen in dem Moment, wo die Daten gesendet werden, damit umgehst du dein Problem.
eine andere Möglichkeit wäre, ads Textfeld dynamisch zu vergrößern.
und als dritte Möglichkeit, kannst du über den Eventhandler onKeyDown, oder so ähnlich bestimmte Buchstaben abfangen.
Grüße webaffe
-
mann mann diese nuß war härter als gedacht
tatsächlich springt der firefox nach einem onkeyup immer an den anfang des inputfeldes.
um das zu verhindern könntet du einfach des onkeyup in ein onchange umtauschen... allerdings wird die eingabe dann ja erst nach kompletter usereingabe "bereinigt"...
aber eine funktionierende lösung habe ich gefunden:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head> <title>Start</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta name="description" content="" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)" /> <script language="javascript" type="text/javascript"> function restrict(pTextField) { var pos = getCaretPosition(pTextField); pTextField.value = pTextField.value.replace(/([^a-zA-Z0-9öäüÖÄÜß_.()?! -])/g, ""); setCaretPosition(pTextField, pos); } function getCaretPosition(ctrl) { var caretPos = 0; // IE if (document.selection) { ctrl.focus (); var sel = document.selection.createRange(); sel.moveStart ('character', -ctrl.value.length); caretPos = sel.text.length; } // Firefox else if (ctrl.selectionStart || ctrl.selectionStart == '0') { caretPos = ctrl.selectionStart; } return caretPos; } function setCaretPosition(ctrl, pos) { if(ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(pos,pos); } else if (ctrl.createTextRange) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } } </script> </head> <body> <form> <input type="text" onkeyup="restrict(this)" /> </form> </body> </html>
-
Vielen Dank, funktioniert prima :))))
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage