Hallo,
Beim Laden der Seite wird die Funktion init ausgeführt:
window.onload = init;
In dieser wird geprüft, ob der Browser alles "kann" , was es für die Formularüberprüfung so braucht:
if (!document.getElementById || !document.getElementsByTagName || !document.createElement || !document.createTextNode) {
alert('You need a new browser!');
return;
}
Desweiteren wird dafür gesorgt, dass beim Absenden des Forumulars die Funktion "validateForum" aufgerufen wird:
document.getElementsByTagName('form')[0].onsubmit = function(){return validateForm();};
Die Funktion "validateForm" ist eigentlich schon gut dokumentiert und verär daher ganz gut was sie macht:
-
Sie setzt evtl. vorhandene Fehlermeldungen zurück (entfernt die DIV-Container, in denen der Fehler angezeigt wird).
-
Sie holt sich aus dem Objekt "validationObject" die Konfigurationen für die Forumlarfelder, die geprüft werden sollen. Eine Konfiguration besteht aus:
* der ID des zu prüfenden Elementes ("ref")
* einem regulären Ausdruck, der auf das Feld passen mus ("datamask")
* einer Fehlermeldung, die ausgegeben wird, falls der reguläre
Ausdruck nicht passt ("msg"). -
Wenn ein Feld nicht korrekt ist (also der reg. ausdruck in "datamask" nicht matcht), wird in eine Liste aus Fehlermeldungen ein neues Element eingefügt, welches bei Klick direkt auf das fehlerhafte Element führt
(per Anker-Link).
Die Funktion "newEl" schliesslich ist lediglich eine Hilfsfunktion, die neue DOM-Objekte erzeugt.
Hope that helps,
Jörg