Hauptmenü

Untermenü

OOP/DOM-Scripting JavaScript - Einstiegstutorial 1 - Die Konstruktorfunktion

1. Die Abschnitte

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 (formfields)
{
  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 (0fields.lengthi++)
  {
    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