Parent window refreshen na herladen pop up

Status
Niet open voor verdere reacties.

ViceStar

Gebruiker
Lid geworden
19 mei 2008
Berichten
16
Vanuit een begin pagina laad ik een popup. In deze popup staat een formulier met submit 3 buttons:

1 button om de popup te sluiten:

Code:
<script>
window.close();
</script>

1 Button om het formulier te versturen de popup te sluiten en de parent pagina te herladen:

Code:
<script>
window.close();
if (window.opener && !window.opener.closed) {
window.opener.location.reload();
} 
</script>

En 1 button om het formulier te verzenden daarna gelijk weer het formulier aanbieden en de parent pagina te herladen.

Alleen dit lukt mij niet. krijg het wel voor elkaar om het formulier te verzenden en nieuwe formulier aan te bieden (in zelfde popup)

Maar dan refreshed hij niet de parent pagina.

Iemand ideeen?
 
Wat is je script voor die 3e button dan? :)


Maar het lijkt me: éérst de parent refreshen en dan pas window.close of submit.
 
Nou die code heb ik dus niet. Heb aantal dingen geprobeerd maar niks lukte.

Het is namelijk een formulier om een map aan te maken (in DB). Als die map dan gemaakt is dan refreshed hij de parent pagina om gelijk de nieuw toegevoegde map te tonen.

Dat lukt dus bij sluiten en dan refreshen. Maar bij map aanmaken dan gelijk nieuwe map aanmaken lukt dat dus niet.

Hij maakt de map in de DB aan en laad het formulier opnieuw maar refreshed dus niet de parent pagina. Wara ik dus aan denk is een javascript code die vanuit de pop-up de parent pagina refreshed. Maar dat heb ik nog niet kunnen vinden.
 
Laatst bewerkt:
Misschien refreshed de parent wel, maar al voordat de map gemaakt is. :)

Dit dan?

In de parent (ongeveer):
[js]function reloadMe() {
setTimeout('location.reload()',2000);
};[/js]
in de pop-up roep je dat dan aan met:
[js]window.opener.reloadMe();[/js]
Zo kun je de functie aanroepen voordat het formulier opgestuurd wordt en wordt de parent pas ververst nadat de map is gemaakt. :)
 
het is beter om de functie in je timeout gewoon als functie door te geven ipv. string:[JS]function reloadMe()
{
setTimeout(location.reload, 2000);
};[/JS]:thumb:
 
Het is mij uiteindelijk gelukt. Ik maak nu gebruik van ASP en Javascript.

Ik had namelijk hele tijd het probleem dat hij de pagina wel refreshde maar dat deed hij voordat de map was aangemaakt.

Ik heb nu met asp deze code meegegeven:

Add_map_proces.asp

Code:
Response.Redirect("Add_map.asp?&windowreload=1")

Add_map.asp:

en dan op de pagina Add_map.asp volgende code neergezet:

Code:
<%

windowreload = Request.QueryString("windowreload")

If windowreload = "1" then
%>
<script>
window.opener.location.reload();
</script>

<%
End if
%>

In ieder geval bedankt voor jullie hulp. Ben namelijk wel tot deze inzicht gekomen dankzij jullie antwoorden :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan