Autor Zpráva
visitor
Profil *
Ahoj
mam problem pri generovani formularovych poli...

generovani SB:

var newSelect = document.createElement('select');
newSelect.name = 'nazev[]';
newSelect.onchange = 'alert("JO");';

nefunguje odchyceni onchange udalosti v IE. V OPERE i FF je to bezproblemove.

nepomuze ani direktiva:

newSelect.setAttribute ('onchange', 'alert("JO");');

ukazka:
http://chemik.ostravak.eu/projekty/html_js_php_priklady/generovani_sel ectboxu.html

Umi nekdo pomoci?
los
Profil *
newSelect.onchange = function() { alert("JO"); };
visitor
Profil *
No chtel jsem to zjednodusit a obratilo se to proti me :(

ten alert tam byl jen ilustracni. V podstate misto neho potrebuji spoustet mnohem slozitejsi fci

potreboval bych neco ekvivalentniho k:

newSelect.onchange = 'moje_hodne_dlouha_funkce(' + nejaky_muj_parametr + ');';
los
Profil *
newSelect.onchange = function() { moje_hodne_dlouha_funkce(nejaky_muj_parametr); };

-- alebo --

newSelect.onchange = new Function("moje_hodne_dlouha_funkce(" + nejaky_muj_parametr + ");");
visitor
Profil *
Dik, paradne to funguje...

Kde se da neco takoveho zjistit? Na webu jsem o tom nenasel v takovem rozsahu ani carku :( V PHP kdyz neco nevim tak manual VZDY poradi ale je nejaka souhrna napoveda i pro JS?

Da se to zapsat direktivou:

newSelect.setAttribute ('onchange', 'alert("JO");');
?

Jaky je v tom vubec rozdil?
visitor
Profil *
Jeste doplnim...

pokud jako parametr potrebuji dat hodnotu promene musim pouzit directivu new Function() jinak bere promenou jako promenou fce a nedosahuze obsah promene...
los
Profil *
je nejaka souhrna napoveda i pro JS?
Napríklad:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
http://msdn2.microsoft.com/en-us/library/yek4tbz0.aspx

musim pouzit directivu new Function() jinak bere promenou jako promenou fce a nedosahuze obsah promene...
Funguje aj zápis bez použitia konštruktoru Function. Vtedy sa premenné v definovanej funkcii (nejaky_muj_parametr) naviažu na premenné prostredia, v ktorom je tá funkcia definovaná a do funkcie sa posiela naozaj tá premenná (nejaky_muj_parametr).
V druhom prípade (pri použití new Function) sa telo funkcie vytvorí z reťazca, takže takýmto spôsobom nie je možné poslať ako argument funkcie moje_hodne_dlouha_funkce nejaký objekt.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0