Übersicht

  Beispiel zum
  Ein Formular, ein Formular . . .

  Beispiel: Formular, Erklärung

  JavaScript meets your Form(ular)

  Aufgaben

  Probleme


Ein Formular, ein Formular . . .

Das mit den Formularen habt ihr grandios hinbekommen! Nun wollen wir mit JavaScript versuchen, (d)ein Formular auszuwerten. Das ganze hat sogar einen Vorteil: Dadurch, dass die Auswertung auf dem Client stattfindet, sprich bei dir zu Hause auf dem Computer, muss noch nichts übers Internet geschickt werden, und du kannst sinnlose oder fehlerhafte Eingaben abfangen. (GROßARTIG, nicht wahr . . .). Hier ein Mini- Formular:

Dein Vorname

und jetzt noch
der Nachname:

Deine E-Mail-Adresse:

Schreib mal wieder!

Zurück zur Übersicht


JavaScript meets your Form(ular)

Im JavaScript hast du Zugriff auf die einzelnen Formular-Elemente, indem du dir einen Namens-Pfad zusammen bastelst. Beispiel: Im Formular sei ein Textfeld vereinbart mit Namen "Vorname", das Formular selbst hat den Namen "Beispiel", dann kannst du so auf dieses Textfeld zugreifen:

document.Beispiel.Vorname.value.

value gibt dabei den Wert zurück, also die Eingabe unserer Testperson! Du musst also nur die Namen der einzelnen Elemente in deinem Formular wissen, sowie den Namen deines Formulars, das wars.

Zumindest fast. Frage: Woher weiss das JavaScript, wann es die Eingabe der Testperson prüfen soll? Antwort: überhaupt nicht, du musst es ihm sagen, ja, ja, alles muss man selber machen! Wie früher beim Ereignis "onLoad", so gibt es auch hier ein Ereignis, auf das hin das JavaScript loslegt: wenn der Submit-Button gedrückt wurde. Deshalb schreiben wir brav am Anfang des Formulars

<form name="Beispiel" onsubmit="return bearbeite()" >
Du siehst, keine E-Mail-Adresse mehr, dafür der Aufruf der JavaScript-Funktion bearbeite(), die sich des Formualrs in fürsorglicher Weise annimmt. Und hier nun die JavaScript-Funktion bearbeite():
<script language="JavaScript">
function ValidLength(item, len) {
var ergebnis=false;
if (item.length >= len)
ergebnis = true;
return (ergebnis);
}
function ValidEmail(item) {
// Eine gültige E-Mail-Adresse hat mehr als 5 Zeichen
if ( !ValidLength(item, 5) ) return false;
// kein @, also auch keine Adresse
if ( item.indexOf ('@', 0) == -1) return false;
return true; // Test bestanden
}
function bearbeite() {
vorname = document.Beispiel.Vorname.value; // Vornamen holen
if (!ValidEmail(document.Beispiel.EMail.value)) {
alert("So ein Unsinn, " + vorname);
return false;
}
else {
confirm("Deine Adresse " + document.Beispiel.EMail.value +
" ist wirklich Klasse, " + vorname);
}
return true;
}// Ende der Funktion
</SCRIPT>
Die beiden Funktionen ValidLength und ValidEmail sind mir zugeflogen, vergleiche die Erklärung in den Kommentaren. Bleibt noch -der besseren Verständlichkeit wegen- ein kleiner Überblick übers Formular:
<form name="Beispiel" onsubmit="return bearbeite()">
Dein Vorname
<input type="text" size="20" name="Vorname"><p>
und jetzt noch <br> der Nachname:
<input type="text" size="20" name="Nachname">
<p>
Deine E-Mail-Adresse:
<input type="text" size="30" name="EMail" >
<p>
Schreib mal wieder!<br>
<textarea name="Botschaft" rows="4" cols="25" >
</textarea>
<p>
<input type="SUBMIT" value="?? Abschicken ??">
<input type="RESET" value="Lieber doch nicht . . .">
</form>

Zurück zur Übersicht



Zurück zur Übersicht


W. Spiegel, E-Mail: walter [dot] spiegel [at] web [dot] de