12
votes

Vérifiez si une fenêtre contextuelle est fermée

Je ouvre une fenêtre contextuelle avec xxx

ce javascript est défini dans un contrôle. Ce contrôle est ensuite utilisé à partir d'une page Web. Je souhaite recharger la page qui ouvre cette popup lorsque la fenêtre contextuelle est fermée.

Utilisateur essentiellement utilisé pour saisir certaines dénominations dans la fenêtre contextuelle et soumettre. Ces dénominations sont ensuite stockées dans des sessions utilisateur. Et lorsque l'utilisateur clique sur Soumettre, je ferme la fenêtre contextuelle et vous souhaitez en même temps de rafraîchir la fenêtre qui ouvre cette pop up pour réajuster les mises à jour que l'utilisateur effectué dans la fenêtre contextuelle.

J'essaie de faire xxx

Je suppose que je le fais mal je le fais mal, cela ne semble pas fonctionner.

pour tester le problème que j'ai même essayé mais aucune alerte est apparu. xxx


2 commentaires

Pouvez-vous / avez-vous essayé d'utiliser une popup modale?


Vous ne souhaitez pas soumettre de formulaire dans une fenêtre modale à moins que vous ne le soumettez à un iframe


4 Réponses :


7
votes

Voici ce que je suggère.

Dans la fenêtre contextuelle, vous devriez avoir: p> xxx pré> xxx pré>

puis dans le processus serveur, vous pouvez retourner

popup.onclose = function () { if (opener && !opener.closed) opener.location.reload(); }


7 commentaires

La fenêtre est rechargée immédiatement lorsqu'un popup s'ouvre.


Au fait, il serait surclose, minuscule C. non pris en charge par tous les navigateurs


Pour tester, j'ai utilisé ceci >>> popup.onclose = fonction () {if (opener &&! ouverte.closed) {alerte ("exécuté ..."); opener.location.rarod (); }} Mais l'alerte ne montre jamais.


Changer l'onClose sur l'once et assurez-vous d'utiliser un navigateur qui prend en charge cette


J'ai même essayé cela mais pas d'alerte >>>> popup.onclose = fonction () {alerte ("1.IideHandler"); if (ouverte &&! ouverte.close) {alerte ("2.Executed."); opener.location.rarod (true); } else {alerte ("3.NotExecuted."); }}


Cela n'a pas échoué dans FX mais n'exécute pas le script dans la popup. Il échoue dans IE8 jsfiddle.net/mplungjan/pxysq


Désolé mec, je ne sais vraiment pas pourquoi j'ai bu. Peut-être que j'étais juste fatigué et mal classé. Je ne peux pas annuler mon vote à moins que la réponse soit éditée. Désolé pour ça.



0
votes

à la place, vous devez utiliser une boîte de dialogue modale comme xxx

ceci arrêterait votre à cette ligne jusqu'à ce que la boîte de dialogue soit fermée.

quelque part dans votre page.html vous Coîterait alors du javascript pour définir la fenêtre .ReturnValue qui est ce qui sera la variable popup.

update

Fenêtre.showmodaldialog () est maintenant obsolète .


3 commentaires

Sauf qu'il est délicat de soumettre un formulaire dans une fenêtre modale à moins d'avoir un iframe à soumettre à


Et qu'est-ce de les empêcher de les placer dans un iframe?


L'exigence est d'utiliser un sans modère



2
votes

Essayez ceci: xxx

ou

dans la fenêtre contextuelle avant la fermeture xxx


0 commentaires

0
votes

OK Alors, ce que vous faites est comme suit.

Créer une méthode "SetWindowObjectinparent" puis appelez cela dans la fenêtre contextuelle. var popupwindow; p>

$(window).unload(function(){
window.opener.setWindowObjectInParent();
});
window.opener.setWindowObjectInParent(window);


0 commentaires