Avatar billede mmolsen Nybegynder
31. oktober 2003 - 19:59 Der er 10 kommentarer og
1 løsning

Data tilbage fra et nyt vindue(popup)

Hej experter.

jeg har en side hvor en javascript-variabel skal sættes via et popupvindue.

Popupvinduet trækker noget data ud fra en database, og lukker automatisk, og skal derefter sætte variablen i det forrige vindue til resultatet af databaseudtrækket.

Hvordan sender jeg den værdien tilbage til variablen på forrige side ???
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 20:04 #1
for at gøre det lidt nemmere.

På min første side har jeg variablen:
var test;

I popupvinduet trækkes der via ASP en værdi ud
Set RStest = Conn.execute("Select ID bla. bla. bla.)
<script type="text/javascript">
var popupTest = '" & RStest("ID") & "';
</script>

pupupTest skal så sendes tilbage til variablen test på den forrige side
Avatar billede skovenborg Nybegynder
31. oktober 2003 - 20:33 #2
brug opener et eller andet sted:

opener.test = "VÆRDI";
Avatar billede skovenborg Nybegynder
31. oktober 2003 - 20:34 #3
alså i dette tilfælde noget i stil med:
opener.test = popupTest;
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 20:54 #4
mener du:

På min første side har jeg variablen:
var test;

I popupvinduet trækkes der via ASP en værdi ud:

Set RStest = Conn.execute("Select ID bla. bla. bla.)
<script type="text/javascript">
var popupTest = '" & RStest("ID") & "';
opener.test = popuTest;
</script>

??
Avatar billede skovenborg Nybegynder
31. oktober 2003 - 21:10 #5
ja eller sådan noget i den stil. Virker det ikke eller hvad?
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 21:12 #6
Nej det funger sq ikke. Når jeg prøver at alerte test så kommer der bare "undefined"
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 21:14 #7
Skriver i første vindue:
function openDocDialog()
var HtmlIndsaet;  window.open('findMenuKode.asp','popup','scrollbars=yes,resizable=no,width=600,height=800');
alert(HtmlIndsaet); 

og i findMenuKode.asp:
var menuKode = 'YEP';
opener.HtmlIndsaet = menuKode;
window.close();
Avatar billede skovenborg Nybegynder
31. oktober 2003 - 21:19 #8
ja men det er meget usandsyneligt at vinduet når at åbne sig, køre databasen og sende variablen tilbage inden du kalder alertboxen.

Alternativt kan du lave fx en funktion inde i siden med openDocDialog funktionen:
var HtmlIndsaet;
function openDocDialog() {
window.open('findMenuKode.asp','popup','scrollbars=yes,resizable=no,width=600,height=800');
}

function test() {
alert(HtmlIndsaet);
}

og i dit popupvindue:
var menuKode = 'YEP';
opener.HtmlIndsaet = menuKode;
opener.test();
window.close();
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 21:28 #9
ahhh. Dit forslag gav mig en idé som virkede.

i openDocDialog() skriver jeg:
window.open('findMenuKode.asp','popup','scrollbars=yes,resizable=no,width=600,height=800');

på samme side laver jeg en funktion med en parameter:
function testTo(tekst)
alert(tekst)   
}

og i popupvindue:
var menuKode = 'YEP';
opener.testTo(menuKode);
window.close();

Det var sq lykken :)

Uden din hjælp havde jeg ikke klaret den :) så smid lige et svar.
Avatar billede skovenborg Nybegynder
31. oktober 2003 - 21:46 #10
jamen det var da så lidt :-)
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 21:47 #11
Takker.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester