Maximale Anzahl an Zeichen im Formular

  • Schönen guten Morgen,


    ich bin gerade an einer WordPress Webseite und dabei möchte ich beim Formular nur 2000 Zeichen zulassen. Nun ist es so, dass das Formular diese Funktion nicht bietet und ich diese selbst in dieses integriere.


    Ich habe jetzt einen kleinen Ansatz entwickelt, der die Zeichen auch herunterzählt. Jedoch nicht richtig funktioniert:

    • Es werden alle Tastenklicks erfasst, sodass jeder Tastenklick die 2000 Zeichen herunterzählt


    Nun habe ich mir dazu Gedanken gemacht und kam auf die Idee den eingegebenen Text in der Textarea zu erfassen und dann die Länge davon zu bestimmen, sodass wirklich nur der eingegebene Text dabei berücksichtigt wird. Unerklärlicherweise wird, obwohl ich nur die Value der Textarea erfasse, jeder Tastaturklick miterfasst, was dann die Zeichenanzahl herunterzählt.


    Ich weiß gerade nicht wie das sein kann & wie ich es lösen kann. Hat jemand eine Idee wie ich dies lösen kann?


    Hier ist der Code & der Link zu jsFiddle:


    https://jsfiddle.net/Lcjbdrmv/


    Ich freue mich schon von euch zu hören.


    Schöne Grüße,
    Stef

  • Warum so kompliziert? Dies müsste den Zweck, die verbleibenden Zeichen anzuzeigen, genau so gut erfüllen:

    Oder ich habe etwas Grundlegendes übersehen.

  • Schönen guten Abend,

    Warum so kompliziert? Dies müsste den Zweck, die verbleibenden Zeichen anzuzeigen, genau so gut erfüllen:

    Oder ich habe etwas Grundlegendes übersehen.

    Vielen Dank dir Sempervivum . Ich habe zu erst nach jedem keyup die erlaubten Zeichen um eins heruntergezählt. Dann kamen dadurch logischerweise weitere Probleme, da dieses Herunterzählen ja nur einen Fall abdeckt: Das herunterzählen (und das aufgrund des falsch gewählten EventListeners auch nicht richtig). Dann habe ich nach einer Variante gesucht, mit der die gewünschte Funktion erreicht werden konnte. So kam ich auf diese doch sehr komplizierte Lösung.


    Deine ist deutlich leichtgewichtiger.


    tk1234 : Danke dir für deinen Input. Genau dies war die Lösung. Vielen Dank :-)


    Schöne Grüße,
    Stefan