Zeichenbegrenzung in Textarea

Suvi

Grünschnabel
Foldenges Script verwende ich

PHP:
    <SCRIPT TYPE="text/javascript">
<!--
    function maxLength(field,maxChars)
    {
       if(field.value.length >= maxChars) {
          event.returnValue=false;
          alert("Nicht mehr als " +maxChars + " Zeichen bitte. Sonst haben wir nix, worüber wir mit dir im Teamspeak sprechen könnten!");
          return false;
       }

    }

    function maxLengthPaste(field,maxChars)
    {
       event.returnValue=false;
       if((field.value.length +  window.clipboardData.getData("Text").length) > maxChars) {
         alert("Nicht mehr als " +maxChars + " Zeichen bitte. Sonst haben wir nix, worüber wir mit dir im Teamspeak sprechen könnten!");
         return false;
       }
       event.returnValue=true;
    }


    //-->
    </SCRIPT>

Die Ausgabe ist

PHP:
<textarea name="wieso" id="wieso" rows="5" cols="120" onKeyPress='return maxLength(this,10);' onpaste='return maxLengthPaste(this,10);'><?php echo $_POST['wieso']; ?></textarea><br />

Im IE funktioniert es, nur im Mozilla Firefox wird kein fehler bei mehr als 10 Zeichen angezeigt. Jemand eine Idee wieso das so ist?
 
Moin Suvi,

im Gegensatz zum IE ist der Event im FF nicht automatisch in der Funktion verfügbar, du musst in dort bekannt machen, z.B. so
Code:
<SCRIPT TYPE="text/javascript">
<!--
    function maxLength(field,maxChars,event)
    {
       if(field.value.length >= maxChars) {
          event.returnValue=false;
          alert("Nicht mehr als " +maxChars + " Zeichen bitte. Sonst haben wir nix, worüber wir mit dir im Teamspeak sprechen könnten!");
          return false;
       }

    }

    //-->
    </SCRIPT>  
    <textarea name="wieso" id="wieso" rows="5" cols="120" onKeyPress="return maxLength(this,10,event);"></textarea>

Was das onpaste betrifft, das kennt der FF ebenfalls nicht.
Dort gibt es zwar eine andere Möglichkeit, allerdings besteht dann immer noch das Problem, dass du im FF keinen Zugriff auf das Clipboard hast.
 
Thx das klappt sehr gut. Nur wenn ich jetzt das ganze mal mit 10 Zeichen teste dann meldet er den Fehler. Will ich nun ein Zeichen löschen, meldet er wieder den Fehler ich kann quasi nichts mehr machen in der Textarea weil nur noch der Fehler kommt. Im IE funktioniert es weiterhin.

Nachdem ich das jetzt nochmal getestet hab ist es dazu noch möglich, Per Copy und Paste 102383 zeichen einzufügen und erst beim nächsten Klick die Fehlermeldung zuerhalten.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück