Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Javascript: getElementById

Sivun loppuun

B_R_H [23.02.2009 11:49:08]

#

Terve,

Olen täysi maallikko javascriptin kanssa ja varmaankin joku voi valistaa.
Mulla on yhdellä sivulla ao. kohta javascriptiä. Auttakaa tyhmää, kun googlellakaan en oikein saanut käsitystä:

ikkuna.document.getElementById("lomake1").submit­();

Tuo getElementById:n parametriana olava lomake1. Mistä ja millä perusteella tuota tulkki osaa etsiä? Ainakaan ko. kooditiedostossa tuota ei ole?

tsuriga [23.02.2009 12:03:58]

#

Se ehtii sitä ikkunan sisältämästä dokumentista (ikkuna.document), vaikkapa palaute.html.

B_R_H [23.02.2009 15:30:53]

#

Noin minäkin sen oletin, mutta ei tärpännyt. Tässä esimerkissä tuossa palaute.html:llä ei ole missään selkokielisenä lomake1-tekstiä - lienen ihan hukassa?

temu92 [23.02.2009 16:26:12]

#

No jospa ei ole niin pistäppä sinne form tagiin tällä tavalla id määritelmä:

<form action="sivu.html" method="post" id="lomake1">

Kaiken järjen mukaan tuo on se mitä haetaan.

B_R_H [23.02.2009 17:18:55]

#

Yeps tuo toimii kyllä, mutta niin myös tuo alkuperäinen eli siinä ei ole mitään vikaa, mutta koetan ymmärtää miten se löytyy, kun missään ei näy.

tsuriga [23.02.2009 17:46:36]

#

Asenna Firefoxiin Firebug-lisäosa ja etsi sillä tuo lomake1.

Merri [24.02.2009 08:45:21]

#

ikkuna viittaa toiseen sivuun kehyksessä, joten ei ihme jos et löydä samalta sivulta, jolla JavaScript-pätkä on. Kyseessä voi olla joko frameset tai iframe. Iframe on mahdollista löytää samalta sivulta, framesetin tapauksessa on yksi kehyssivu, joka ymppää toisiinsa useamman "normaalin" sivun.

Firebugia tosin suositellaan tältäkin suunnalta, helpottaa asioiden paikantamista huomattavasti.

B_R_H [25.02.2009 12:39:14]

#

Firebugia kyllä käytän ja sillä myös etsiskelin. Näyttäisi siltä, että tuo koodi käsitellään seuraavasti:
-Normaalilta sivulta linkistä, joka avaa uuden selaimen, tupsahtaa tarvittavat tiedot.
-Avatusta uudesta ikkunasta valitaan combolla asioita ja tämä
ikkuna.document.getElementById("lomake1").submit­();
Näyttäisi olevan ok -näppäimen takana, jolla palataan takaisin alkuperäiseen selaimeen. Sieltä löytyy tuo lomake1.

Mahtaakos tämä toimia näin - en pystynyt ihan varmasti todentamaan, mutta jos tuon alkuperäisen selaimen sulkee ja hyväksyy ok:lla uuden, niin saadaan herja aikaiseksi.

Metabolix [25.02.2009 16:18:13]

#

Jos koodi on omaa, voit tuon submitin korvata jollain muulla: (lomake).style.backgroundColor = "#ff66ff", niin johan löytyy. :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta