Namen einer aufzurufenden Funktion als Variable übergeben
Thomas Schenkeli
- javascript
Hallo,
kann ich den Namen einer aufzurufenden Funktion (inklusive Aufruf-Parametern) in einer andere variable übergeben?
so ganz einfach: var funktionsname = "checkRangeOfNumber(0,100)";
document.getElementById("Inputfeld").funktionsname;
gehts natürlich nicht, weil er sich dann aufregt, dass es die Funktion namens "funktionsname" nicht gibt.
Gibt es da einen Workaround?
lg Thomas
Hi,
Gibt es da einen Workaround?
das funktioniert mit eval(). du musst dan schreiben:
var string = "document.getElementById("Inputfeld")."+funktionsname;
eval(funktionsname);
mfG,
steckl
Hi,
Gibt es da einen Workaround?
das funktioniert mit eval(). du musst dan schreiben:
var string = "document.getElementById("Inputfeld")."+funktionsname;
sry, so musst du eval aufrufen:
eval(string);
mfG,
steckl
Danke, funktioniert so!
Danke, funktioniert so!
... aber ist wie schon erwähnt die (u.U.) schlechteste Lösung.
Struppi.
kann ich den Namen einer aufzurufenden Funktion (inklusive Aufruf-Parametern) in einer andere variable übergeben?
Wozu?
so ganz einfach:
var funktionsname = "checkRangeOfNumber(0,100)";document.getElementById("Inputfeld").funktionsname;
Du kannst jede Funktion auch indirekt ansprechen, aber die Parameter musst du separat angeben.
var funktionsname = "checkRangeOfNumber";
document.getElementById("Inputfeld")funktionsname;
eval würde ich wenn möglich vermeiden (ist aber so wie du das Problem hier zeigst die einzige Lösung), da es ein paar Nachteile hat.
Struppi.
Hi,
document.getElementById("Inputfeld").funktionsname;
das wäre keine Funktion, sondern eine Methode - die ein DOM-Objekt nicht hat. Wenn dem bei Dir doch so ist, dann würde ich gerne erfahren, wie Du dem IE beigebracht hast, sie zu akzeptieren (bzw. wie Du es vermeidest, dass der IE pro Element die .htc-Datei neu lädt).
Gibt es da einen Workaround?
Was genau hast Du eigentlich vor, auf diese Weise zu lösen?
Cheatah