Formulartest-Beispiel 3: Test von Formulareingaben auf Korrektheit (alternative Version)

Test nach jeder Eingabezeile, nochmaliger Test beim Abschicken.

Bitte geben Sie Ihre Daten ein:
Ihr Name
Ihre Postleitzahl
Ihre Telefonnummer
Ihre Email-Adresse

  

Kurzerläuterung zum Skript (vgl. Sie mit dem Source-Code)

Im Unterschied zu den beiden vorherigen Beispielen wird hier sofort nach Eingabe in ein Feld geprüft. Wird es verlassen, findet mit dem onblur-Eventhandler der Test statt. Der Eventhandler ist wieder als return -Handler gestaltet - z.B. onblur="return nametest()" - damit bei falscher Eingabe das Skript gleich wieder aktiviert wird und nicht weitergegangen wird.

Das Skript hat starke Ähnlichkeiten zum Skript von Beispiel 1 d.h. es werden wieder verschachtelte if-Abfragen für den Test verwendet. Im Unterschied zum formtest2-Beispiel wird aber für jeden Feldtest nun eine getrennte Funktion definiert und innerhalb der Funktion jeweils auch eine getrennte Fehlerausgabe generiert, da ja immer gleich nach Eingabe bzw. Verlassen des Feldes getestet werden soll. Deshalb wurden auch die entsprechenden Testvariablen innerhalb der jeweiligen Funktionen mit Weren belegt bzw. generiert, nur die allgemeineren blieben global (wäre auch anders gegangen, aber erscheint so übersichtlicher). Die Variablen a - d, denen je nach Fehlertest unterschiedliche Werte (als Textstrings) zugeordnet werden, beliesen wir aber global, da sie beim Abschicken noch mals von einer anderen Funktion verwendet werden.

Wird dann auf den Abschicken-Knopf gedrückt, wird noch eine weitere Funktion aufgerufen und abgearbeitet. Falls irgendwo oben einer der globalen Variablen a-d ein anderer Wert als nix="" zugeordnet wurde, kommt nochmals eine Fehlermeldung und der Benutzer kann wegen des return-Eventhandlers nicht abschicken. Ansonsten wird beim (bzw. vor) dem Abschicken nochmals eine ok-Meldung ausgegeben.

Tipp: dieses Skript kann man ebenfalls gut zu einem Frage-und-Antwort-Beispiel umbauen.


OK, Fenster schließen.