Alert bei leeren Feldern

<script type="text/javascript">
function überprüfung()
{
if (document.formular.eingabefeld.value == "") {
alert('Das Eingabefeld wurde nicht ausgefüllt');
return false;
}
}
</script>
<form name="formular" action="formular.php" onSubmit="return überprüfung()">
<input type="text" name="eingabefeld">
<input type="submit">
</form>

Über document kann man in JavaScript auf Formulare und ihre Felder zurückgreifen, indem man ihre Namen mit Punkten verknüpft aneinanderreiht. Wie ihr im <form>-Tag sehen könnt, wurde dem form der Name formular zugewiesen, also wählt der Browser dieses Formular aus. Jetzt hat auch das input-Feld noch einen Namen (nämlich eingabefeld), und der Browser findet auch das.

Mit if (document.formular.eingabefeld.value == ""), sagt die Funktion: wenn innerhalb dieses HTML-Dokuments im Objekt formular das Objekt eingabefeld, den Wert (value) "" hat, also nix drin steht, dann mach alert('Das Eingabefeld wurde nicht ausgefüllt'); und gib damit die Alarmmeldung „Das Eingabefeld wurde ...“ aus und
return false; brich die Aktion (des Formularsendens) ab.

Gibt jetzt jemand ins Eingabefeld etwas ein, ist value nicht leer, also lässt das Skript das Formular absenden.

Diese Funktion wird im Formular mit dem Befehl onSubmit (beim Abschicken) mit der Anweisung return (gib aus) aufgerufen: onSubmit="return überprüfung()"

Heißt: Wenn das Formular abgeschickt wird, gib die Funktion überprüfung() aus. Und die Funktion überprüfung gibt dem Browser false zurück wenn das Feld leer ist, und dieser bricht den Vorgang dann sofort ab.

Kommentare

blackfeet
blackfeet am Donnerstag, 27. Mai 2004 um 18:54

Das ganze ist ja schön und gut, aber absulut unsicher!
<br>1. Wenn jemand ein Leerzeichen eingibt, gilt es schon als etwas, gut kann beabsichtigt sein
<br>2. Wenn jemand Javascript deaktiviert hat, bricht der Browser nicht ab und man kann ganz einfach nix eingeben und es funktioniert.
<br>
<br>Also:
<br> Auf jeden fall noch bei der Weiterverarbeitung prüfen und noch einmal darauf hinweisen wenn das feld leer ist.
<br>Oder:
<br> Prüfen ob der Javascript aktiviert ist, und wenn nicht gar nicht bis zum formular lassen
<br>
<br>Aber das tutorial ist als solches echt gut geschrieben und verständlich, alles genau erklärt.

cruz
cruz am Donnerstag, 27. Mai 2004 um 23:14

@EaStErDoM: blackfeet spielt scho wieder n oberschlauen ;) tutorial is super .. man will ja keinen anfänger verwirren so wie der blackfeet gleich .. gg

Markus René Einicher
Markus René Einicher am Samstag, 29. Mai 2004 um 11:45

Ja, das man danach dennoch mit PHP checkt ist empfehlenswert. tu ich auch. Ist nur für den Benutzer bequemer weil er beim zurück button im browser oft wieder bei nem leeren formular landet. So muss nicht wieder alles eingegeben werden und es ist für den Server auch entlastend, weil man mit php die variabeln über url oder cache zurück geben müsste (oder so ähnlich, ihr wisst schon was ich meine). Ist nicht als Sicherheit gedacht.

Markus René Einicher
Markus René Einicher am Samstag, 29. Mai 2004 um 11:46

Und wann geht das USERCP endlich wieder? Meine Tuts sind volle Tippfehler die ich korrigieren möchte und Änderungen sind auch einige fällig