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?
Se ehtii sitä ikkunan sisältämästä dokumentista (ikkuna.document
), vaikkapa palaute.html.
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?
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.
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.
Asenna Firefoxiin Firebug-lisäosa ja etsi sillä tuo lomake1
.
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.
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.
Jos koodi on omaa, voit tuon submitin korvata jollain muulla: (lomake).style.backgroundColor = "#ff66ff"
, niin johan löytyy. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.