Page 1 sur 1

Rafraichir une page aprés la fermeture d'une popup !

Posté : 23 juil. 2007, 13:14
par angebleu17
Bonjour,

J'ai une page pour modifier des données (accueil.php), sur cette page j'ai un lien modifier qui ouvre une popup et qui affiche d'autres données (je l'ai ai mis sur une page à part sinon ma page serait trop chargé).
Donc dans la popup je modifie les données, je clique sur submit, la popup de ferme grace à

Code : Tout sélectionner

<form onsubmit=self.close() action="" ></form>
Et donc je revient sur la 1ere page (accueil.php). J'aimerais que la page se rafraichit en affichant les données modifier.

Donc dans la page accueil.php j'ai mis ce code pour rafraichir la page, :
if(!isset($_GET['refresh']))
{ 
?>
<meta http-equiv="Refresh" content="0;url=accueil.php?refresh=no">
<?
}
Seuleument la page se raffraichit la 1ere fois que je vais dessus ensuite je clique sur modifier, la popup s'ouvre et quand elle se ferme je revient sur accueil.php mais le rafraichissement ne s'éxécute pas car il a était éxécuté la 1ere fois!
Et quand je met une redirection avec meta aprés l'éxécution des requête ça ne fait rien, surement à cause du

Code : Tout sélectionner

onsubmit=self.close()
Comment faire pour rafraichir la page aprés la fermeture de la popup?

Posté : 23 juil. 2007, 13:23
par Genova
Salut, essaie avec

Code : Tout sélectionner

onsubmit="opener.document.history.go(0); self.close()"

Posté : 23 juil. 2007, 13:40
par angebleu17
ça ne marche pas non +.. ça ne ferme pas la popup.

Posté : 23 juil. 2007, 14:14
par jed

Code : Tout sélectionner

onclick = "window.parent.opener.location.reload();"
Essaies ça ;)

Posté : 23 juil. 2007, 14:21
par Ryle
Attention : le code placé dans le onSubmit ou dans le onClick s'exécute avant (voire en parallèle pour le second) l'envoi du formulaire... les données risquent de ne pas encore avoir été envoyées quand la fenêtre se fermera. Par ailleurs la page parente risque de se recharger avant que le traitement n'ait été terminé et donc de ne pas être à jour.

La meilleure solution reste d'envoyer normalement le formulaire, et dans la page qui effectue le traitement, une fois que celui-ci est terminé, ajouter les quelques lignes de code javascript qui permettent de recharger la page parente (avec un .reload(true) pour éviter le cache), et refermer la popup :)

Posté : 23 juil. 2007, 15:02
par angebleu17
Merci :wink:

Ca marche nickel avec :

Code : Tout sélectionner

<body onunload="window.opener.location.reload(true);"></body>