20. juni 2004 - 13:59
Der er
14 kommentarer og 1 løsning
Popup sender værdi retur til hovedside
Jeg har en side (nu kaldet hovedside) som åbner en popup ved at man klikker på et link: <a href='#' onclick='window.open("popup.htm","popup","width=200,height=100,status=no");'>Åben nu</a> Mit spørgsmål er nu, hvordan laver jeg det sådan at en værdi fra popup.htm bliver sendt retur til hovedsiden og hvordan henter jeg værdien på hovedsiden igen?
Annonceindlæg fra Kommando
Du kan direkte fra popup'en sætte en værdi på hovedsiden: <button onclick="opener.document.FORMNAME.FELTNAME.value='Hej fra popupen'">Klik her</button>
Slettet bruger
20. juni 2004 - 14:04
#2
I popup.htm kan du referere til hovedsiden med window.opener F.eks. window.opener.document.getElementById['feltnavn'].value = 'her er værdien'; Hvis du så på din hovedsiden har f.eks. et formfelt med id'et feltnavn, så sættes der nu en værdi i dette felt.
Hmm.. Så bliver feltnavnet's værdi jo bare lig værdien.. Men så skal der jo reloades i mit tilfælde? Kan man så også reloade hovedsiden fra popupen?
Slettet bruger
20. juni 2004 - 17:07
#4
Ja, så kan du bare: window.opener.location.href='dinside.html?foo=bar';
opener.location.reload(true); -- og hvis du skal submitte data, kan du f.eks.: <form action="dinHovedside.htm" target="minParent" onsubmit="opener.name='minParent';return true;">
Hmm.. Det kan jeg ikke få til at virke. Jeg har lige prøvet med disse 2 filer: index.htm: <script> var test; </script> <a href='#' onclick='window.open("popup.htm","popup","width=200,height=100,status=no");'>Åben nu</a> <br /><br /> <script> document.write(test); </script> og popup.htm: <script> function fu(va) { window.opener.getElementById['test'].value=va; opener.location.reload(true); } </script> <a href='#' onclick="fu('hej med dig');">Tilbage</a> Og det virker ikke...
index.htm: <a href='#' onclick='window.open("popup.htm","popup","width=200,height=100,status=no");'>Åben nu</a> <br /><br /> <span id="test"></span>
Hov, det skal så være: popup.htm: <script type="text/javascript"> function fu(va) { opener.document.getElementById['test'].innerHTML=va; opener.location.reload(true); } </script> <a href='#' onclick="fu('hej med dig');">Tilbage</a>
Øv, endnu en tavetosse: opener.document.getElementById('test').innerHTML=va; -- da [] i javascript bruges til at beskrive et indeks, mens () bruges til funktions-parametre ...
20. juni 2004 - 17:32
#10
Virker stadig ikke.. :(
20. juni 2004 - 17:34
#11
Nu er der også en reload med, så hvis du fjerner reload-linjen, kan du se at popup'en sender en værdi !-)
20. juni 2004 - 17:35
#12
Hmm.. nu virker det - hvis jeg fjerner den reload.. Takker.. Gider i begge lige smide et svar? så deler jeg points ud :)
20. juni 2004 - 17:38
#13
Velbekomme '-)
Slettet bruger
20. juni 2004 - 18:02
#14
Ellers tak :)
20. juni 2004 - 18:11
#15
-- og tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling