kostenloser Webspace werbefrei: lima-city


Bestimme Zeichen in Textfeld verbieten

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. w*****e

    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
  4. h**s

    mann mann diese nuß war härter als gedacht :wow:

    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>
  5. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    Vielen Dank, funktioniert prima :))))
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!