Plausibilisierung von Webformularen per JavaScript

die Überprüfung der in ein Webformular eingegebenen Daten per JavaScript direkt beim Client

Von: Ralph Steyer
Stand: 29. März 2007
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Ralph Steyer

bild118051

Ralph Steyer ist Diplom-Mathematiker und seit 1996 selbstständig im Bereich Schulung, Programmierung und Beratung. Seine Spezialgebiete sind die Internet-Programmierung und objektorientierte Software-Entwicklung. An der Hochschule RheinMain hat er einen Lehrauftrag im Fachbereich Multimediadesign. Ralph Steyer schreibt außerdem regelmäßig für verschiedene Computermagazine und ist Autor zahlreicher Fachbücher zu Themen von JavaScript, Web-Frameworks wie jQuery über Java bis zum Intranet-Management. Auf der Autorenseite von Amazon finden Sie zu den Büchern genauere Informationen. Sein Blog und seine Homepage sind auch gute Quellen für weitere Informationen.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

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.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein