Hallo
Was passiert ohne Javascript?
Richtig, gar nichts. Die zu lange Eingabe kommt trotzdem zum Server.
Das ist mir völlig klar.
Wo habe ich denn behauptet, dass dies eine serverseite Validierung !ERSETZEN! soll?
Es ist aber wesentlich angenehmer für den Benutzer, wenn er sieht, dass er nichts mehr eintippen kann als erst das ganze Formular abzuschicken und dann die Fehlermeldung zu bekommen, dass im Feld X nur 250 Zeichen erlaubt sind und im Feld Y nur 100 und im Feld Z nur 50. Wie hässlich!
Und was, wenn der User 300 Zeichen eingetippt hat und der Server nur 250 erlaubt? Willst du dem User dann zumuten die Zeichen zu zählen ?
Das geht komfortabel !NUR! mit JavaScript, da die blöden Browser kein Maxlength unterstützen. Allein serverseitg ist das nicht machbar.
Ich finde nicht, dass das Luxus ist.
Ohne Javascript ist es eine Zumutung für den armen User.
Dein Einwand ohne Javascript ist ohnehin rein theoretisch, da heutzutage 95% der Webseiten ohne Javascript gar nicht mehr bedienbar sind. Wozu also sich den Kopf darüber zerbrechen? Wer heute Javascript abschaltet, kann gleich den Browser deinstallieren!
Meine Seiten benutzen Ajax, da ist Javascript ohnehin Pflicht.
PHP ist hierfür übrigens nicht nötig, das läßt sich komplett in Javascript auf dem Client erledigen:
Offenbar hast du das Thema meines Postings nicht verstanden.
Mein Thema war nicht, eine PHP Klasse zu schreiben (die kannst du einfach entfernen, wenn du in einer anderen Sprache programmierst) sondern ein JavaScript geschrieben zu haben, das besser funktioniert als alles, was ich im Internet zu diesem Thema gefunden habe!
Der Bequemlichkeit halber habe ich dieses Javascript in eine wiederverwendbare elegante PHP Klasse geschrieben.
Wenn du nicht PHP programmierst, kopierst du dir den Javascript Block aus meinen Code und benutzt ihn Stand alone!
* Suche alle Textareas
* Ermittle deren Maximallänge, z.B. aus einem ungenutzten Universalattribut
* Füge den Textareas die notwendigen Eventhandler-Aufrufe hinzu
Ja, und was macht dein automatisch zugefügter Event Hander dann, wenn ein Event kommt?
DAS ist doch genau die Frage!
Elmü