Ist das Formular vollständig?

In Bezug auf das Kriterium des Leerseins (Nichtversorgung) können HTML-Formularelemente in die folgenden beiden Gruppen aufgeteilt werden:

  1. Textfelder: text, password, file (File Upload), hidden, textarea;
  2. Auswahlfelder (radio), Menüs (select-one) und Listen (select-multiple);
  3. Ankreuzfelder (checkbox).
Auf diese Gruppen wenden wir jeweils die folgenden Regeln an:
  1. Ein Textfeld gilt als nicht leer, wenn es mindestens ein druckendes Zeichen enthält, d.h. mindestens eines, welches kein Leerzeichen (whitespace) ist.
  2. Ein Auswahlfeld ist versorgt, wenn mindestens ein Element ausgewählt ist, bei dem weder Text, noch Wert leer sind. (Insbesondere bei Menüs ist es oft praktisch, ein Element anzubieten, das für eine leere Auswahl steht.)
  3. Ankreuzfelder sehen wir stets als versorgt an, denn es gibt keinen Unterschied zwischen dem Zustand nicht angekreuzt und dem Zustand ohne bzw. leerer Wert.

Soviel zur Theorie – hier ein praktisches Beispiel zum Ausprobieren:

Mein Lieblingsname ist:
Meine Lieblingsfarbe ist:
Ich esse gerne:
Ich finde Beispiele dieser Art... albern amüsant



Sie können den JavaScript-Quelltext hier laden, um die Verifizierung der Feldversorgung auf Ihren eigenen Web-Seiten zu verwenden. (Unter Umständen müssen Sie beim Anklicken des Links die Umschalttaste gedrückt halten.)


Die Funktion isEmpty erhält als Argumente den Namen des Formulars (den Wert des Attributs NAME im FORM-Tag), sowie den Namen des zu prüfenden Elements und gibt als Ergebnis true zurück, wenn das Element als leer zu betrachten ist, sonst false.


var formName = document.forms[0].name;
var n = document.forms[0].elements.length;
var i;
for (i = 0; i < n; i++) {
    var item = document.forms[0].elements[i];
    if (item.name.length < 1) {
        continue; // Elemente ohne Namen, z.B. buttons, auslassen
    }
    if (isEmpty (formName, item.name)) {
        alert ("Es fehlt noch was!");
        break;
    }
}