Plausibilisierung per JavaScript
Wann und wie sollte man ein Formular plausibilisieren?
Bei Webapplikationen hat es sich durchgesetzt, ein Formular in der Regel erst beim Abschicken der Formulardaten zum Server zu kontrollieren. Das wird sich aber wahrscheinlich durch den Erfolg von AJAX nach und nach etwas mehr zur Plausibilisierung beim Verlassen eines Feldes verlagern. AJAX erlaubt es beispielsweise, einem Anwender eine Rückmeldung des Servers zu geben, wenn beim Verlassen eines Eingabefeldes ein offensichtlicher Fehler vorliegt, ohne ihn durch Mitteilungsfenster oder Neuladen der Seite in seinem Arbeitsfluss zu behindern. So wird AJAX nach und nach dafür sorgen, dass sich Web-Applikationen auch bei der Plausibilisierung mehr dem Verhalten von Desktop-Applikationen annähern.
Dennoch ist das Abschicken von Formulardaten derzeit die (!) zentrale Stelle, wo Webapplikationen zu plausibilisieren sind, wenn bereits im Client eine Überprüfung stattfinden soll. Über den Eventhandler onSubmit haben Sie die Möglichkeit, die Eingaben in Formularfeldern beim Verschicken der Daten zu kontrollieren. Der Eventhandler onSubmit steht speziell für Formulare bereit, um vor der Versendung des Formulars Skripte aufrufen zu können und gegebenenfalls eine Bestätigung der Aktion einzuholen. Dazu wird onSubmit im einleitenden Formular-Tag des Formulars notiert. Wenn ein Anwender das Formular mit einem Klick auf die Submit-Schaltfläche abschicken will, wird vor dem Abschicken die JavaScript-Funktionalität ausgeführt, die beim Eventhandler onSubmit notiert ist. Anschließend werden die Formulardaten verschickt.
Um nun aber einen Abbruch des Versendens der Formulardaten bei einem Fehler in den Formulareingaben zu erreichen, muss die per onSubmit aufgerufene JavaScript-Funktion mit vorangestelltem Schlüsselwort return notiert werden. Wenn in der aufgerufenen Funktion selbst false als Rückgabewert zurückgegeben wird, bricht der Browser das Versenden der Formulardaten ab.
Beispiel:
<form name="f" action="ziel.php" method="post" onSubmit="return senden()" />
In der Funktion senden() könnte schematisch so etwas stehen:
function senden() {
var fehler = false;
// überprüfe Plausibilitäten - falls Fehler vorliegt, setze fehler auf true
if (fehler) return false;
}Was tun bei einem Fehler?
Wie Sie beim Auftreten einer Fehleingabe nun reagieren, bleibt Ihnen überlassen. In der Regel werden Sie aber das Versenden der Formulardaten unterbinden, bis der Fehler beseitigt ist und einem Anwender entsprechende Rückmeldungen geben. Sie können nun bei einem Fehler zum Beispiel eine Fehlermeldung anzeigen, die Anzahl der eingegebenen Zeichen auf die Maximalanzahl abschneiden, das Eingabefeld vollständig leeren oder den Fokus wieder in das Eingabefeld setzen und dem Anwender die Korrektur überlassen.
