Miten kutsutaan JSP-sivulta javascript functiota?
Javascript function kutsu JSP-sivulla
Osama Kosama
8720
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 8
Vanhimmat
Ihan samallalailla kuin html -sivullakin.
sinänsä eroa tavallisesta html-dokumentista, kun että se sisällä voi kutsua javaolioita sisällä.
Vaikka näin:
Function jeejee()
{
document.write("jeejee");
}
javascript:jeejee();
Takaisin
Tein JSP-sivulle tällaisen tarkistuksen:
var name = window.confirm("Proceed?");
if (name == true)
{
}
else
{
}
Vaikka siis tuossa ikkunssa painan ok, ei tuo confirm muuttuja saa arvoa yksi, tai saa hetkellisesti. Mikäköhän tässä mättää?
Onko niin, että tuo confirm muuttujan saama arvo ei näy tagien ulkopuolella? Tuntuu aika kummalliselta jos ei.
Käsittääkseni jsp tekee ensin omat säätönsä, ja sitten pullauttaa html-sivun, eli eikös nuo javascriptin if-elset ole tulkattuna suunnilleen jotain tällaista:
if(name==true)
{
}
else
{
}
View source selaimessa auttanee?
jsp vain käyttää confirm-muuttujaa 1:ssä, ja nollaa sen takaisin...
Eihän server-side jsp:tä voida ajaa enää sen jälkeen kun sivu on asiakkaalle lähetetty? Ainakin näin minusta.
olisi mahdollista saada tuollainen tarkistus aikaa javascriptillä? Jos ei, sitten varmaan tarvii tehdä erillinen tarkistus-jsp sivu.
Ensimmäiseksi tulisi mieleen html formin postaus, jos se vain tarkoitukseen sopii? Google kertoo, kuten myös java.sun.com ja w3.org.
.jsp käännetään palvelimella ja sitten html-sivu lähetetään selaimelle, joka sitten ajaa sivussa olevat javascriptit.
Eli siinä vaiheessa kun javascript ajetaan, niin se ei voi enää kommunikoida jsp-sivussa olevien muuttujien kanssa.
on hiukka hukassa tää asia. Jsp ajetaan palvelimella ja javascript selaimessa. Niitä ei siis ajeta yhtä aikaa.
Eli kun selain ajaa javascriptiä, niin noita sisällä olevia roinia ei ole enää koko sivussa.
Ehkä helpoin olisi tehdä jsp-sivulla html sivuun joku hidden-kenttä, johon jsp sitten asettaisi arvoksi tuon send-muuttujan arvon.
Sen voisi sitten selaimessa ajettava javascript tarkistaa.
Toinen vaihtoehto ois laittaa jsp-sivulla jotain arvoja http requestiin ja javascript poimisi tiedon sieltä.
Vielä ainakin kyksi tapa tulee mieleen:
Kun jsp tekee vaikka formisivua, niin pistää formiin hidden kenttään vaikka jonkun Date.timeinmillis() ja sitten tallettaa saman arvon servlettiin.
Sitten kun servlettiä kutsutaan taas, niin vertaa formista lähetettyä hidden arvoa omaan tallessa olevaan. Jos ne täsmää, niin formi lähetettiin ekaa kertaa ja sen tiedot vaikkakantaan. Samalla luodaan seuraavaksi näytettävään sivuun uus tämmönen "avain" ja uus avain myös servlettiin talteen.
Nyt jos tyyppi painaa selaimesta backiä tai yrittää jotain muuta vinkeää, niin formista tullut avain ei täsmääkkään enää servletissä tallessa olevaan.