JavaScript - Pflichtfelder überprüfen

Pflichtfelder in Formularen überprüfen

Kennzeichnung der Pflichtfelder indem an ihren Namen im HTML-Text ein "_p" angehängt wird

Es werden nur die Pflichtfelder überprüft alle anderen Felder sind optional.

Am Schluss wird eine Fehlermeldung ausgegeben, ob noch Felder auszufüllen sind.

Beispiel: Pflichtfelder prüfen

<input type="text" name="Benutzername_p"> //Kennzeichnung als Pflichtfeld _p

<form methode="post" action="" onsubmit="return pruefeFormular(this);"> //Überprüfung des Formulars mit der Funktion pruefeFormular()

<script type="text/javascript">

function pruefeFormular(f) {

for (var i = 0; i < f.elements.length; i++) {

var formularElement = f.elements[i];

// Wenn im Namen an vorlezter Stelle kein "_p" steht springe raus und

// mache in der for-Schleife mit dem nächsten Index weiter -> ansonsten switch

if (formularElement.name.lastIndexOf("_p") != formularElement.name.length -2) {

continue;

}

switch (formularElement.type) {

case "text":

case "password":

case "textarea":

if (formularElement.value == "") {

fehler += "\nTextfeld ‘" + formularElement.name + "’";

}

break;

case "select-one":

if (formularElement.value == "" || formularElement.selectedIndex == -1) {

fehler += "\nListe ‘" + formularElement.name + "’";

}

break;

case "checkbox":

if (!formularElement.checked) {

fehler += "\nCheckbox ‘" + formularElement.name + "’";

}

break;

case "select-multiple":

if (formularElement.selectedIndex == -1) {

fehler += "\nListe ‘" + formularElement.name + "’";

}

break;

case "radio":

var gruppenname = formularElement.name;

var gruppe = f.elements[gruppenname];

var ok = false;

for (var j = 0; j < gruppe.length; j++) {

if (gruppe[j].checked) {

ok = true;

}

}

if (!ok) {

fehler += "\nRadiobutton-Gruppe ‘" + formularElement.name + "’";

}

break;

} //switch

} //for

if (fehler == "") {

return true;

} else {

alert("Die folgenden Formularfelder wurden nicht vollständig ausgefüllt: \n" + fehler);

}

}

</script>

Formular zur Registrierung:

Benutzername:*

Passwort:*

Geschlecht:* weiblich    männlich

Land:*

Interessen:

Kommentar:

Ich akzeptiere die AGB*

zurück