05. september 2003 - 12:17Der er
11 kommentarer og 2 løsninger
JavaScript funktion med ASP linjer
Hvis jeg har en eller JavaScript funktion, som startes ved onClick f.eks., kan jeg så i den funktion have nogle ASP linjer, som KUN bliver udført, når funktionen startes?
ASP er server scripting hvor JavaSCript er client scripting... ASP returnerer færdig HTML. Hvis du skal kunne aktivere noget ASP fra JavaScript skal du altså en tur omkring serveren.
Alternativt kan du stream det HTML/JavaScript, der skal ligge i funktionen - så det er klar til brug, hvis man kalder den.
Det kan du desværre ikke. Som Jammer skriver bliver JavaScript udført på client (altså i browseren) mens ASP bliver udført på webserveren.
ASP delen bliver altså udført først SAMTIDIG MED AT DIN HTML BLIVER GENERERET AF WEBSERVEREN.
Når så endelig din browser har modtaget al html-koden, er webserveren også færdig med at køre din ASP kode, og først da kan du få browseren til at aktivere den JavaScript der står som en del af HTML-kildeteksten.
Hvis du vil have en JavaScript funktion til at udføre noget ASP kode, bliver du nødt til at lave et nyt sideopslag, hvor den pågældende side rummer den ASP kode du gerne vil eksekvere.
Ok. Jeg vil prøve at opdele det i en lidt mere pædagogisk facon:
Når der laves et opslag på din hjemmeside, sker det omtrent i følgende rækkefølge.
1) En person taster adressen på din hjemmeside ind, eller klikker på et link der fører over til din hjemmeside.
2) Browseren slåt den pågældende URL op med en HTTP-forespørgsel.
3) Serveren modtager forespørgslen, og går igang med at fremstille den fornødne HTML side. Hvis siden der slås op er en .htm side, bliver den bare parset til browseren. Hvis det er en .asp (eller .php for den sags skyld) bliver din indlejrede VBScript kode udført. Det er altså HER at din ASP udføres.
4) Det færdige HTML-dokument - med den tilhørende javascript - er sendt til din browser, og linien mellem browseren og serveren lukkes.
5) Browseren har modtaget det færdige dokument, og et antal triggere i HTML-dokumentet kan så udløse en eller flere af de indlejrede JavaScript funktioner. Eksempelvis <body onload="Test();"> Først HER er det muligt at udføre JavaScript funktioner.
Du kan altså ikke på nogen måde udføre de to ting samtidig. Eksemplet du skrev for oven vil producere noget html kode der ser omtrent således ud:
function Test { alert("Hejsa") 2 alert("Hejsa igen") }
Det vil næppe kompilere, men det var måske også bare et lidt dårligt eksempel?
Nu er det jo noget tid siden jeg oprettede denne tråd, så jeg må vist hellere se at få den lukket igen ;)
jammer, jeg har en bedre ide...jeg giver jer (hvis sbm gider give et svar) begge 2 15 point...du får for at være den første til at forklare, sbm for velformuleringen ;)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.