Tag LeKuchen.
Eine kurze Erklärung, was passieren soll: Bei der Control handelt es sich um ein div, welches ein Attribut evaluationfunction hat.
Da dieses Attribut nicht zum DOM-Standard gehört, steht es dir als Objekteigenschaft auch nicht zur Verfügung. Der IE scheint mir da fehlertoleranter. Folgendes funktioniert jedenfalls im IE 6 und im FF 1.0.7:
Ctrl = new Object();
function dyna_func(ident) {
var obj = document.getElementById(ident);
for(i=0;i<obj.attributes.length;i++) {
if(obj.attributes[i].nodeName == "evaluationfunction")
Ctrl.evaluationfunction = obj.attributes[i].nodeValue;
}
}
Du könntest dir jetzt noch eine eigenes Control-Objekt stricken, das könnte so aussehen:
Ctrl = new Object();
test_func = "{ alert('Test bestanden'); }";
function dyna_func(ident) {
var obj = document.getElementById(ident);
for(i=0;i<obj.attributes.length;i++) {
if(obj.attributes[i].nodeName == "evaluationfunction")
Ctrl.evaluationfunction = new Function(window[obj.attributes[i].nodeValue]);
}
// Testaufruf
Ctrl.evaluationfunction();
}
In der Hoffnung, dich richtig verstanden zu haben.
Siechfred