Autor Zpráva
peta
Profil
Mam funkci, treba
function aaa()
{...}
mam jinou funkci
function bbb(a)
{...}
a ted volam
bbb(aaa)
cili predavam odkaz na pointer funkce.
A ja bych ted potreboval v bbb() zjistis nazev funkce
Ve FF existuje a.name (object.name) ale IE tuto metodu nepodporuje
ah01
Profil
No, sice mě nenapadá žádný důvod, k čemu by to mohlo být dobré. To zmiňované a.name funguje jen za předpokladu, že fci. nadeklaruješ takto:
function aaa(){}
v jiném případě
var aaa = function (){}
fungovat nebude.

Máš asi tak 2 možnosti. Pro „přímou“ deklaraci by ti mělo fungovat
(aaa.toString()).match( /  něco ve smyslu ^function (w+) /)[1]

Pro druhý případ, můžeš projít nadřazený objekt cyklem, a tak najít jméno té fce.


A mimochodem „predavam odkaz na pointer funkce“ – to je pěknej nesmysl :-)
peta
Profil
ah01
Dik, ja to prave nechtel dramatizovat regularnim vyrazem.
V podstate jsem to vyresil jinak.
ajax.func=null
funkce {... ajax.func=func; ajax.send}
iframe.document...script parent.window.ajax.func(document)

k cemu je to dobre, mam funkci:
ajax.send(url,arg,func)
ajax.send('./aaa.php','a=4',alert)
vysledek se mi zobrazi v alert(vysledek)

tohle funguje pro funkci, co mam XHTMLrequest. Ale protoze request nemusi fungovat, tak jsem pridelaval iframovou alternativu
http://mracek.hostuju.cz/x/chatAI.rar
ktera vytvori iframe, vytvori v nem inputy a iframe odesle GET/POST.

Problem je ovsem s navratovou funkci. kdyz zavesim funkci na document.onload , tak mi to zpracuje puvodni formular.
Kdyz odeslu formular a hned po tom dam document.onload, tak je to totez, nebo prazdny formular.
Takze jsem si vybral jinou alternativu, odeslu navratovou funkci jako jeden z inputu. Ale jak, kdyz mam jen jeji pointer? Tak zkusim funkce.name a ouvej, pouze FF.
Ale ted jsem to vyresil tak, ze jsem pointer presunul do promenne ajax.func , kterou pak zavolam scriptem na konci XML odpovedi SRIPT parent.window.ajax.func a tim docilim stejneho efektu jako ajax.func(TEXTresponse)
Toto téma je uzamčeno. Odpověď nelze zaslat.