Sziasztok,
Webform modult használok, amihez a webform-form-{nid}.tpl.php -n keresztül kapcsoltam e js filet.
JavaScriptet használok, mert nem ismerem a jQuery-t.
A form elemeit szeretném kicsit variálni, erre kell a js.
Egy egyszerűbb kóddal próbálkoztam, hogy lássam egyáltalán működik e a dolog:
function mouseover() { alert ("KAtt"); } var obj=document.getElementById("edit-submitted-mobil-telefon"); obj.onmouseover = mouseover;
erre azt mondja, hogy obj null. Ekkor megnéztem, hogy mi van ha kiiratom az obj-t, ekkor valóban null volt az értéke.
A kódot kipróbáltam egy egyszeű html.ben ott rendesen működött.
Arra gondolok, hogy a gond a
var obj=document.getElementById("edit-submitted-mobil-telefon");
részben van, talán nem jó használom az id-t? Ez az id egy form elemhez tartozik, amit Firebug-val kerestem ki.
Mi lehet a gond?
ELőre is köszönöm.
Üdv.:
Gábor
Drupal verzió:
Fórum:
Hogyan adod hozzá a .js-t?
Hogyan adod hozzá a .js-t?
Nekem a drupallal csak úgy sikerült a .js-eimet futtatni ha a drupal_add_js() -t használtam.
http://api.drupal.org/api/function/drupal_add_js/6
A kódoddal ebből nemtudom, hogy mi lehet a gond, de ha form elemeinek elrendezését szeretnéd variálni, arra én a http://drupal.org/project/arrange_fields modullal meg voltam elégedve.
biztos
biztos jó a js hozzáadása, mert a
ki tudom iratni, hogy mi az értéke (null ugyebár)
egyébként azt használom, amit írtál.
én is használom ezt a modult, de a végső célom az lenne, hogy (egyébként egy regisztrációs formot készítek, ahol több összetevőt lehet bejelölni, részösszegeket össze kell adni) bizonyos bejelölt form elemekhez tartozó összegeket valós időben összeadjak.
Kéne menjen...
Akkor kéne menjen. Nekem egyszer volt olyan, hogy a " helyett valami ferde " -t írt amikor a szövegszerkeszőből átraktam a végelges heylére és azzal nem volt jó.
Közben találtam egy ilyet:
http://snipplr.com/view/6487/list-all-ids-in-the-dom-tree/
De nem próbáltam ki.
Más ötletem nincs most...
ezzel
ezzel a résszel van a gond tutira, mert azt írja, hogy
"document.body is null" biztos, hogy nem jól hivatkozok az oldal elemeire, de egyszerűen sehol nem találok leírást hozzá
Böngészőhibára gondoltál? Az
Böngészőhibára gondoltál?
Az előbb linkeltem egy kódrészletet ami elvileg az ids változóba bepakolja az összes ID-t amit a .js lát. Ha nincs olyan ID akkor nem látja a .js. Ebben az esetben azt kell kitalálni, hogy miért nem látja.
Valahol olvastam hogy IE7 valamelyik verziójában kétszer kellet egymás után meghívni a getElementById()-t hogy másodszorra ne nullt adjon. Nemtudom igaz-e.
erre
erre a kódra írta kil a hibát, amit az előbb írtam, tehát szinte biztos, hogy a hivatkozás a gond
Itt azt írják
Itt azt írják (többek között), hogy a page.tpl.php ben a /body után semmiylen html tag nem lehet.
http://stackoverflow.com/questions/1630969/why-is-document-body-null-in-...
Ugyanitt írja egy póruljárt ember, hogy ezt a sort betette a $(document).ready(function(){}); aljára:
if(null==document.body){document.body = $('body')[0];}
És ettől megjavult. Ezt modnjuk nem értem...
Az is lehet, hogy a
Az is lehet, hogy a webform-form-{nid}.tpl.php hamarabb lefut mint ahogy a dokumnentumnak lesz body -ja, és ezért nem megy.
BTW nekem soha nem jutott még az eszembe a tpl-be tenni .js-t.
Esetleg megpróbálhatnád a footerbe tenni, hátha az a baj, hogy a headerbe nem szeret.
Megpróbálhatnád http://drupal.org/project/js_injector -al is, mert ha úgy jó, akkor tudjuk hogy valami az eddigi .js betöltés miatt nem jó.
igen ez már
igen ez már nekem is eszembe jutott, de mégis azt mondja a leírás, hogy ha webformhoz így kell js-t csatolni, mindenesetre megpróbálom, köszi az infókat