2011-08-29 2 views
0

Je vais avoir un problème obtenir une fenêtre pour fermer sur ma page en utilisant JavaScriptFermer une fenêtre pop-up qui a été redirigé

Je suis en mesure d'obtenir d'autres fenêtres pop-up pour fermer, mais je pense que je Je perds quelque chose quand je finis par rediriger la fenêtre popup. Par exemple, dans la fenêtre principale, je sélectionne un projet et la fenêtre apparaît pour donner l'information. Ensuite je clique sur edit qui redirige une réponse vers la page d'édition. Ici, je fais mes changements et cliquez sur soumettre. Une fois soumis, je veux qu'il se termine, mais je n'arrive pas à le faire.

Pour popups précédents, je voudrais utiliser

ClientScript.RegisterStartupScript(this.GetType(), "CLOSE", "CloseAndRefresh();", true); 

Pour appeler le javascript j'assis dans mon dossier de .aspx. Ce qui est ceci:

function CloseAndRefresh() { 
    parent.location.reload(true); 
    parent.ClosePopup(); 
} 

I généré la fenêtre pop-up avec le code suivant:

editButton.OnClientClick = (popupWindow.GetTargetPopupCode("MYURL")); 

Ceci est cependant ne fonctionne plus. Je pense qu'en raison de ma redirection de la fenêtre contextuelle d'origine, ça jette tout. Une idée de ce que je dois réparer?

Edit:

Je suis finalement arrivé au point que le javascript est réellement obtenir appelé.

J'ai essayé ces fonctions et aucun n'a travaillé:

window.close(); 
self.close(); 
parent.ClosePopUp(); 

ww = window.open(window.location, "_self"); 
ww.close(); 

Merci!

Répondre

0

D'accord, vous pourriez faire des choses ensemble. L'ajout d'un délai d'attente peut aider. C'est le code que j'utilise pour actualiser le parent et fermer un popup. Adapter ce, et voir si elle aide:

refreshParent = function(){ 
    window.opener.reload(); 
    setTimeout(function(){ self.focus(); self.close(); }, 2000);   
}  

Essayez d'utiliser ceci:

EDIT: paramètre vrai Retiré de la méthode location.reload, par spécification W3:

function CloseAndRefresh() { 
    parent.location.reload(); 
    self.close(); 
    return true; 
} 

Voir: http://www.w3schools.com/jsref/met_loc_reload.asp

EDIT: Au lieu de l'ajouter en tant que scri de démarrage pt, juste essayer de l'ajouter à la ClientOnClick du bouton d'envoi, comme ceci:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="return CloseAndRefresh();" OnClick="..." /> 
+0

Je pense que la question est qu'il n'a jamais fait d'entrer dans le code. J'ai lancé une alerte pour voir si elle est appelée et elle ne semble pas du tout appelée. – Jabsy

+0

@Jabsy: Voir la réponse éditée. –

+0

J'ai essayé avec la mise à jour OnClientClick, mais je ne reçois toujours aucun type de réponse du javascript. – Jabsy

Questions connexes