2012-05-06 14 views
9

Ich benutze ein a textarea Feld in einer Form, die auf HTML gemacht wird und die Verarbeitung erfolgt durch PHP. Ich möchte die Anzahl der Zeichen beschränken, die der Benutzer in das Textfeld eingeben kann. Gibt es eine Möglichkeit, dies zu tun, da das Feld textarea dann in einer mysql-Datenbank gespeichert wird und ich daher die Benutzerdaten gemäß dem varchar-Wert des Feldes einschränken muss.wie die Anzahl der Zeichen in einem Textarea-Feld Verarbeitung von PHP begrenzen?

Irgendwelche Hilfe?

Antwort

18

Sie können dies begrenzen, indem Sie maxlength Attribut auf Textarea-Tag wie <textarea maxlength="120"></textarea> in HTML und zusätzlich "schneiden" Eingabezeichenfolge in PHP von substr() Funktion.

+0

danke eine Tonne! Das gab eine Idee, wie es geht! Im Grunde war das, worüber ich verwirrt war, die maxlength, die Sie gerade vorgeschlagen haben, wie das verwendet werden kann! – user1373168

+0

funktioniert angeblich nicht in IE –

+0

Dies funktioniert nur auf IE10 +, Firefox, Chrome, Safari. Aber nicht Opera. – Napolux

8

Wie s.webbandit erwähnt Sie maxlength verwenden, aber beachten Sie, dass dies eine neue Funktion in HTML5, wie W3 Schools article über <textarea>, so „wasserdichten“ Lösung benötigt Javascript eingeführt ist. Also maxlength ist nicht unterstützt im Internet Explorer bis Version 10 und in Opera überhaupt nicht.

Hier ist ein Ansatz, der uses Javascript um Ihnen zu helfen:

<script language="javascript" type="text/javascript"> 
    function charLimit(limitField, limitCount, limitNum) { 
    if (limitField.value.length > limitNum) { 
     limitField.value = limitField.value.substring(0, limitNum); 
    } else { 
     limitCount.value = limitNum - limitField.value.length; 
     } 
    } 
</script> 

Anschließend können Sie es verwenden, wie diese (original source):

<textarea name="limitedtextarea" onKeyDown="charLimit(this.form.limitedtextarea,this.form.countdown,100);"> 
    </textarea> 

Dies sollten Sie gehen.

+0

Sie haben eine Funktion Benennung Fehler in der onKeyDown-Attribut, "charLimiti" sollte "charLimit" – thechrishaddad

1

Ich habe viele verschiedene Möglichkeiten versucht, um Text in Textareas zu begrenzen, und das Beste, was ich gefunden habe (Client-Seite) ist mit dem jQuery.Maxlength.js Plugin. Einfach schnell und deckt sie alle ab!

Schritt 1. Fügen Sie Maxlength Plugin Skript

<script language="javascript" src="jquery.maxlength.js"></script> 

Schritt 2. Fügen Sie maxlength Attribut

<textarea maxlength="35" 
    rows="5" cols="30" name="address"></textarea> 

Schritt 3. Initialisieren Plugin

<script type="text/javascript"> 
    $(document).ready(function($) { 
      //Set maxlength of all the textarea (call plugin) 
      $().maxlength(); 
    }) 
</script> 

https://github.com/viralpatel/jquery.maxlength

4

Dies ist eine sehr einfache Möglichkeit, die Länge eines Textbereichs über JavaScript zu begrenzen.

Textbereich Feld:

<input class='textField' type='text' NAME='note1' value='' onkeyup='charLimit(this, 40);'> 

JavaScript-Funktion:

function charLimit(limitField, limitNum) { 
    if (limitField.value.length > limitNum) { 
    limitField.value = limitField.value.substring(0, limitNum);} 
} 

Wenn der Benutzer letzten 40 Zeichen es sie nur entfernt.

0
<script type="text/javascript"> 
     $(document).ready(function(){ 
     var maxChars = $("#sessionNumtext"); 
     var max_length = maxChars.attr('maxlength'); 
     if (max_length > 0) { 
      maxChars.bind('keyup', function(e){ 
       length = new Number(maxChars.val().length); 
       counter = max_length-length; 
       $("#sessionNum_counter").text(counter); 
      }); 
     } 
    }); 
</script> 

<textarea name="sessionNumtext" id="sessionNumtext" maxlength="20" type="text"></textarea> 
kalan karakter sayısı: <span id="sessionNum_counters">20</span> 
+1

Es wäre besser, auch einige Details, Erklärungen usw. nicht nur Code geben. Nur ein Gedanke :) –

Verwandte Themen