Autor Zpráva
Čelo
Profil *
Zdravím,
už nějakou chvíli hledám na netu řešení mého menšího problému a nejsem schopen se dopídit výsledku.
Problém je v podstatě jednoduchý.
V proměnné parametr mám uložený název JS funkce.
A tu potřebuji spustit.

např.
var parametr='hledanafce';

Dá se nějak přesvědčit JS, aby obsah parametru interpretoval? Co mám udělat, abych si spustil funkci "hledanafce" pomocí proměnné parametr?
nosko
Profil
No myslím že toto nie je to čo hladáš ale funguje:


function hledanafce(){
alert("hello wold");
}

function hledanafce2(){
alert("hello wold2");
}

var funkcie = new Array(hledanafce,hledanafce2);
for(i=0; i<funkcie.length, i++)
funkcie[i]();


var parametr= hledanafce;
parametr();

ale asi som ti nepomohol lebo ty zrejme potrebuješ aj tie úvodzovky :(
peta
Profil
jakpsatweb - javascript - object
jakpsatweb - javascript - object window
window["hledanafce"]();
script tag je soucasti objektu window (asociativni pole) a tim padem i vse v nem
Podobne se pracuje s formulari, treba
jakpsatweb - javascript - priklady - formulare
Bronzi
Profil
funkcí eval()
viz tady na jakpsat web
ah01
Profil
Bronzi
eval prosím nechte být!

Čelo
Použij to co píše peta. Jen bych to doplnil o kontrolu jestli ta fce. skutečně existuje.
if(window["hledanafce"]){

window["hledanafce"]();
}
peta
Profil
ah01
mozna bych psal
(window["hledanafce"]!=null)
at je jasne, ze kontrolujes existenci

Bronzi
eval je pekna vec, ale je to funkce na funkci a v pripade chybneho zapisu se muze jevit jako nepredvidatelna na vysledek.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: