Pb rafraichissment d'1 page parent d'un popup

Fermé
brex Messages postés 7 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 20 juin 2005 - 20 juin 2005 à 12:37
 stella - 22 sept. 2014 à 18:24
Bonjour à tous,
Mon pb est le suivant :
j'ai un formaluraire avec des listes déroulantes récupérant des enregistrements depuis la Base Mysql. En face de ces listes, j'ai un lien qui ouvre une popup permettant avec un autre formulaire d'ajouter un enregistrment dans la base de donné.
Je voudrais que à la fermeture de cette popup, la page principal soit rafraichis.
J'ais trouvé ce sujet qui traite du meme problème : http://www.commentcamarche.net/forum/affich-1477671-%5BJavascript%5D-Faire-des-requ%EAtes-HTTP

Mais la conversation à dérivé sur les prouesses des programmeurs de chez google et il n'y a pas de réel solution au problème du pauvre sebsauvage.
j'ai essayé ceci :
this.parent.refresh();
j'ai aussi regardé du onunload()

mais pas moyen de faire amrcher quoi que se soit.
D'ou ma question :
Comment appel t on la 1er fenetre qui a ouvert le popup??
parent? root??? je suis un peu perdu

SI quelqu'un peut m'aider ce serait sympa.

Merci Brex74
A voir également:

10 réponses

Voila comment j'ai fait moi :

Dans le body :
<a href="javascript:myclosewindow();">Fermer</a>

Dans le header :
<script language="javascript">
function myclosewindow()
{
window.close();
window.opener.location.href='autre_page.php'
}
</script>
8
Je pense que ça va résoudre le problème :

onclick = "window.parent.opener.location.reload();window.close();"
6
nickel !
0
brex Messages postés 7 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 20 juin 2005 2
20 juin 2005 à 15:08
Désolé d'avoir été un peu long, je suis llé manger entre temps. ;)

En effet ton code fonctionne.
Je l'ai mis a part dans une fonction de mon ficher JS :
function refresh(page)
{
  window.opener.location.href= page ;
  alert("ok Refresh");
}

et dans le body :
$pageFrom=$_SERVER['HTTP_REFERER'];
<body onunload="javascript:refresh(\''.$pageFrom.'\')" >


Voila comme ca avec je peu l'utiliser à différents endroit sans changer le code.
Précisions pour ceux que ca interesse : $_SERVER['HTTP_REFERER'] sert a récupérer l'url de la page qui a apellé celle-ci.

Merci encore Erdnax pour ton aide
2
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 15:15
De rien, et bien joué d'avoir couplé ça à la fonction php, je n'y avais jamais pensé :P
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 13:09
Salut,

Juste un précision, Sebsauvage n'a pas de problème, il indiquait simplement une technique de programmation très avancée ! ;)

Pour toi, je pense que le simple code suivant dans la balise body de ta popup peut t'aider :

onunload="window.opener.location.href='tapagedouverture.php'"

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
brex Messages postés 7 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 20 juin 2005 2
20 juin 2005 à 13:17
ok merci je vais testé cela tout de suite je te tiens au courant si ca marche.... ou si ca amrche pas !!

Merci brex
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 13:44
Alors ça fonctionne ou pas ? ;)
0
brex Messages postés 7 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 20 juin 2005 2
20 juin 2005 à 16:06
Juste une ptite dernière question.

Le système réactualise bien la page parent mais en fait il y a un léger problème qui je l'espère peut être résolu, c'est que les valeurs des champs de mon formulaire sont perdu au moment du rafraichissment donc ca pose un problème.
Ceci est du à cela :
window.opener.location.href= page ;

qui n'est pas vraiment un rafraichissement mais un appel comme un lien d'ou le href.

N'est il pas possible d'utiliser le refresh() ? qui comme quand on fais F5 réactualise la page sans perdre les infos des formulaires .??
Ou autre chose qui permettrais de conserver mes valeurs de formulaire?
Je pourrais le faire en passant toutes mes valeurs par l'url en php GET mais cela est relativement lourd pour pas grand chose.

Merci brex
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 16:19
Essaye de remplacer window.opener.location.href=... par window.opener.location.reload();, mais je ne sais pas si les données de ton forumlaire seront renseignée...

@+
0
brex Messages postés 7 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 20 juin 2005 2
20 juin 2005 à 16:35
Encore une fois ca marche

La page esst rafraichis et les infos du formulaire ne sont pas perdu c'est super !

Au pasage, comment fais tu pour apprendre à faire du bon javascript ? Pasque j'ai du mal a trouver des site références ou toutes les proporiétés et méthodes sont réferencé avec des ptits exememples, c'est plus facile de trouver en php....


Merci encore Brex
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 16:41
J'utilise majoritairement google.

Ce site n'est pas mal non plus, il rescence beaucoup de fonctions javascripts (peut-être bien toutes)

=> http://www.toutjavascript.com/main/index.php3

Par exemple tappe reload, et regarde la documentation qu'il te sort sur le sujet ;)

@+
0