molily: Javascript (IE; FF) und Element Properties

Beitrag lesen

Hallo,

Eine kurze Erklärung, was passieren soll: Bei der Control handelt es sich um ein div, welches ein Attribut evaluationfunction hat. Eine JS-Funktion mit dem Namen der evaluationfunction ist auch im JS Code vorhanden, sodass durch das eval (Umwandlung von String in Function) im späteren Verlauf des Codes diese Funktion gerufen werden kann.

Das Problem stellt sich aber vorher: Während der IE bei vctrl auf evaluationfunction als Property zugreifen kann, ist dies beim FF nur über getAttribute (bzw. setAtrtributeNS ?) möglich?

Stimmt das?

Wieso sollte getAttribute nötig sein? typeof(vctrl.evaluationfunction) sollte im Firefox undefined ergeben, aber keinen Fehler.

Was eval("vctrl.evaluationfunction = " + vctrl.evaluationfunction + ";"); machen soll, verstehe ich nicht. Meintest du vielleicht eval("vctrl.evaluationfunction = " + evaluationfunction + ";")? So verstehe ich zumindest deine Aufgabenbeschreibung. Das kannst du einfacher schreiben: vctrl.evaluationfunction = evaluationfunction; Dabei ist evaluationfunction eine globale Funktion (»Eine JS-Funktion mit dem Namen der evaluationfunction ist auch im JS Code vorhanden«), auf die du einfach über ihren Namen verweist. Dass der eval()-Aufruf ein Fehler erzeugt, wenn vctrl.evaluationfunction undefined ist, kann sein.

Mathias