Aktuelle Problembeschreibung
Ich habe eine Funktion in einem Array gespeichert:
_ehf.ef[x][++y] = ['Test',
function(mode, opt ){
alert ("MODE"+mode);
if( mode != 1 ){
_ehf.dialog(_ehf.ef[x][y][1], 'Hi test', ['bla','bla']);
return;
else{
alert ("hi"+opt);
var class = ' class="' + opt + '"' ;
_ehf.f.insert('set',
'<p'+class+'>' + _ehf.f.insert('get') + '</p>');
}
) ];
Solche Funktionen arbeiten tadellos. Aber diese hat nun den Aufruf
zu einer Dialog_Funktion.
Der ELSE Zweig wird nicht ausgeführt.
Das Problem liegt hier:
ehf_dialog_collect = function(fx){
var opt = _ehf.dialog_options.getElementsByTagName('input');
var ret = '';
for ( var i=0; i < opt.length; i++){
if( opt[i].checked == true){ ret += opt[i].value + ' '; }
}
//alert(fx + ' \n'+ret); // Funktion wird bis hierher korrekt ausgeführt.
fx( 1, ret );
}
alert( fx ...) gibt mir die Funktion wie oben geschrieben plus den angesammelten Return Wert.
Aber
fx( 1, ret );
führt die Funktion nicht aus. das heisst, ich bekomme den oben geschilderten ELSE Zweig nicht.
Mit diversen alerts schon alles abgescheckt. Wo ist das Problem?
Hinweis: mit fx gebe gebe ich eigentlich jenes Array-Element weiter,
indem die Funktion gespeichert ist.
Die Funktion selbst gibt im IF Zweig sein eigenes Array-Element korrekt an.
Danke für Hilfe
mfg Beat