Daniel Eikenberg: <textarea>

Hallo,

Ich suche einen Weg um einen <textarea>-Feld eine maximale Anzahl Zeichen zu erlauben.
Genau so wie beim -input type="text"- mir die -maxlength="20"- zur Verfügung steht.

Da es in HTML keine Möglichkeit gibt die Zeichen zu begrenzen, hilft mir evtl. Javascript?

Danke für jeden Tip, Daniel

  1. Moin!

    Da es in HTML keine Möglichkeit gibt die Zeichen zu begrenzen, hilft mir evtl. Javascript?

    Ja.

    Du mußt nach jedem getippten Zeichen gucken, ob die maximale Zeichenzahl schon erreicht ist, und alles darüber hinaus dann abschneiden.

    Du brauchst dazu den Eventhandler für "Zeichen getippt" sowie die Stringfunktion für "schneide die ersten X Zeichen aus einem String ab und nimm diese". Steht alles im Javascript-Teil von SelfHTML.

    Bedenke auch, dass ohne Javascript keine Längenbegrenzung stattfindet, so dass du auf dem Server die Länge erneut prüfen mußt, um die Eingabe ggf. zurückzuweisen.

    Es ist in diesem Zusammenhang (20 Zeichen) irgendwie sinnvoller, nur eine <input>-Zeile zu verwenden.

    Beachte auch, dass du, egal welche Methode du verwendest, auf dem Server _immer_ die Eingabelänge prüfen mußt, wenn sie irgendwie wichtig ist. Du kannst vom Benutzer nämlich auch manipulierte Formulardaten erhalten, die u.U. viel längere Eingaben enthalten, als du erwartest.

    - Sven Rautenberg

    --
    SELFTREFFEN 2003 - http://selftreffen.kuemmi.ch/
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  2. hi

    Da es in HTML keine Möglichkeit gibt die Zeichen zu begrenzen, hilft mir evtl. Javascript?

    javascript kann dir dabei helfen.
    du mußt einfach nur zählen wie lang der inhalt der textarea ist.

    selhtml & das archiv düften dir zumindest einen ansatz, wenn nciht sogar eine lösung liefern.

    so long
    ole
    (8-)>

    --
    Ein Gedicht: Alles bleibt wie immer... nur schlimmer.
    sh:( fo:) ch:| rl:° br:& n4:° ie:% mo:} va:| de:] zu:| fl:( ss:) ls: js:|