Hallo,
Mit eval(fields[i]) könnte ich die entsprechende Funktion ansteuern.
Ich habe nun nur das Problem der Unterscheidung, ob ein Wert im Array
ein Funktionsaufruf sein soll
Deshalb würde ich eine andere Datenstruktur verwenden als einen Array aus Strings.
Zum Beispiel ein Object mit Namen-Werte-Zuordnung.
var fields = {
"Feldname1" : "optional",
"Feldname3" : "required",
"Feldname4" : funktion,
};
oder ähnlich. Das dann mit einer for-in-Schleife durchlaufen. Die Funktion kannst du dann direkt ausführen. Abfrage wie gesagt mit typeof.
... usw. Das führt natürlich zu einem Fehler, weil eval("Firma") eine
Funktion bzw. ein Objekt erwartet. Gibt es eine Möglichkeit, abzufragen,
ob eine Funktion existiert ?
Ja, wenn du den String "validmail" hast, kannst du mit typeof window["validmail"] == "function" prüfen, ob eine globale Funktion mit diesem Namen existiert.
Dazu musst du den Funktionsnamen natürlich aus dem String "validmail('E-Mail')" extrahieren, nämlich alle Zeichen bis zum ersten Vorkommen von validmail
Mathias