Textarea maximal 100 Zeichen?

Status
Nicht offen für weitere Antworten.

chpa

Erfahrenes Mitglied
Ich bin gerade dabei ein Formular zu erstellen. In diesem Formular ist eineTextarea enthalten. Jetzt möchte ich diese Textarea so programmieren, dass man nur max. 100 Zeichen darin schreiben kann.

Meine Frage: Wie macht man das?
 
Bei <INPUT> feldern kannst du die Anzahl der Zeichen per Attribut:

maxlength="100"

begrenzen, weiß aber nicht ob das auch bei Textareas geht. Kannste ja mal ausprobieren
 
Dankeschön
Ich probiers gleich mal aus.

Echt klasse, dass das so schnell ging.

Mfg
Patte
 
Original geschrieben von Helge
Bei <INPUT> feldern kannst du die Anzahl der Zeichen per Attribut:

maxlength="100"

begrenzen, weiß aber nicht ob das auch bei Textareas geht. Kannste ja mal ausprobieren
Das wage ich zu bezweifeln.
Es gäbe noch eine Möglichkeit über einen Javascript den Benutzer eine Meldung anzuzeigen, wenn er die max. Anzahl der Zeichen erreicht.
Code:
<script type="text/javascript">
function Aktualisieren() {
  var stop = document.Test.Eingabe.value.length;
  if( stop == 100) {alert("Die maximale Anzahl an Zeichen ist erreicht.")}
  return true;
}
</script>
</head><body>
<form name="Test" action="">
<textarea name="Eingabe" onKeyDown="Aktualisieren(this.value)"></textarea>
</form>
 
Ein maxlength-Attribut oder etwas Vergleichbares gibt es für die Textarea eider nicht.

Du kannst es dir aber mit JavaScript selber zusammenbasteln:
Code:
<script type="text/javascript">

function checkInput(a_oEvent, a_iLength)
{
    iKeyCode = 0;

    if (navigator.appName == 'Netscape') {
        iKeyCode = a_oEvent.which;
    } else if (window.document.all) {
        iKeyCode = event.keyCode;
    }

    if ((a_iLength > 100) && (iKeyCode >= 32)) {
        return false;
    }

    return true;
}

</script>

<textarea style="width:300px;height:200px;" onkeypress="return checkInput(event, this.value.length);"></textarea>
Was macht der Code?
Der Event-Handler onkeypress sorgt hier dafür, dass ebi jedem Tastendruck (und dazu gehört z.B. auch die Enter Taste oder Strg + V um Text einzufügen)
die JavaScript-Funktion checkInput aufgerufen wird
Als Parameter werden übergeben:
1) Das event-Objekt. Ist wichtig, damit das ganze auch unter Mozilla läuft.
2) Die Länge des Textes, der in der Textarea steht.

Danach wird iKeyCode mit dem ASCII-Code der Taste, die man gedrückt hat belegt.
Nun wird geprüft, ob die Läng der Textarea die 100 zeichen erreicht hat.
Wenn ja, wird zusätzlich noch geprüft, ob man gerade auch wirklich ein Zeichen eingeben, und nicht z.B. den Cursor bewegen will (Das wird durch den Check des keyCodes erreicht).
Wenn man also ein Zeichen eingeben will und die Textarea hat bereits schon 100 Zeichen, dann wird false zurückgegeben und das Zeichen nicht in die textarea eingetragen.

Was bringt die Überprüfung des KeyCodes?
Wenn diese nicht wäre, würde nach 100 Zeichen jede Aktion, die durch einen Testendruck ausgelöst wird, abgebrochen.
Also auch die Tab-Taste, die Cursortasten, die Backspace-Taste, und so weiter.
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.
Zurück