OOP/DOM-Scripting JavaScript - Einstiegstutorial 1 - Die Konstruktorfunktion
1. Die Abschnitte
- Einführung
- Vorbereitung
- Die Konstruktorfunktion
- Die anonyme Funktion
2. Die Methode
... zur Überprüfung der Formularinhalte wird in der Konstruktorfunktion checkForm
gekapselt. Das ist in diesem Fall zwar nicht
notwendig, ich mache es aus didaktischen Gründen trotzdem, da das Verständnis für später extrem wichtig ist.
function checkForm (form, fields)
{
this.verifyForm = function ()
{
}
}
Erläuterung
Mit this.verifyForm
erstellen wir eine privilegierte öffentliche Methode, auf die alle Objekte zugreifen können, die
aus der Konstruktorfunktion erzeugt wurden. Die Kapselung habe ich, wie oben schon erklärt, aus didaktischen Gründen eingebaut.
Bei dieser Art der Programmierung kann man so mehrere Methoden erstellen.
Die Parameter
... müssen euch hier erst mal nicht interessieren. Die werden später von der anonymen Funktion übergeben.
3. Die Überprüfung
... ist ebenfalls sehr einfach. Wir schauen einfach nach, ob etwas in den entsprechenden Feldern des Arrays fields
des Formulars form
steht. Wenn nicht, geben wir eine einfache Alert-Meldung aus.
this.verifyForm = function ()
{
for (i = 0; i < fields.length; i++)
{
if (form[fields[i]].value == '')
{
alert (fields[i]
+ ' im Formular '
+ form.name
+ ' wurde nicht ausgefüllt'
);
return false;
}
}
return true;
}
Erläuterung
Die for
-Schleife durchläuft alle Elemente des Arrays fields
und mit if (form[fields[i]].value
== '')
überprüfen wir, ob darin Zeichen vorhanden sind. Woher der Wert für form
kommt, erfahrt ihr, wie oben schon
erwähnt, später.
Wichtig ist vor allem das Konstrukt form[fields[i]]
. Da wir die Feldnamen als String an den Konstruktor
übergeben, käme bei form.fields[i]
eine Fehlermeldung. Warum? Nun der Zugriff erfolgt in JavaScript
document.formularname.feldname
. In diesem Fall hätten wir dann aber etwas wie
document.formularname.'feldname'
, und dann knallt es. Das nennt sich variable Variable und oben könnt ihr die
Umsetzung in JavaScript bewundern.
Ist das entsprechende Feld leer, so wird ein Warnhinweis ausgeben, die Schleife beendet und ein false
zurückgegeben,
dass wir später noch benötigen. Ist zugegeben ziemlich suboptimal, da der Hinweis nur pro Feld erfolgt, aber im Moment lassen wir
mal fünfe gerade sein.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt