2010-09-30 14 views
3

J'ai une fenêtre pop-up avec un formulaire dedans. Sur soumettre du formulaire, je souhaite rediriger vers une page particulière, mais sur la fenêtre parente (pas sur le popup).Comment rediriger la fenêtre principale à l'URL de la popup?

Comment puis-je y parvenir en utilisant Javascript?

After Application of Josh Idea 

J'appelle une fonction javascript pour soumettre un formulaire, dans ce javascript, ci-dessous est le code mentionné

Ainsi peut-il être exécuté comme je l'ai essayé avec cela et sa ne fonctionne pas selon mes besoins

function instant_popup_post() 
{ 
    var cid   = document.getElementById('product').value; 
    var session_id = document.getElementById('sessid').value; 
    if(cid==30) 
    { 
     alert(document.getElementById('instantpop').onsubmit="opener.location.href = 'http://192.168.1.5/cppl11/bannerbuzznew/full_color_banner.php?&id=+cid+'&info_id=5&osCsid='+session_id;"); 
     document.instantpop.submit(); 
    } 
    else if(cid==31) 
    { 
     document.getElementById('instantpop').onsubmit="opener.location.href ='perforated_window_signs.php?&id='+cid+'&info_id=6&osCsid='+session_id;"; 
     document.instantpop.submit(); 
    } 
    else if(cid==32) 
    { 
     document.getElementById('instantpop').onsubmit="opener.location.href ='preprinted_stock_banner.php?&id='+cid+'&info_id=7&osCsid='+session_id;"; 
     document.instantpop.submit(); 
    } 
} 

PLSS aide

+0

Je l'ai résolu Josh Merci encore –

+0

@OM Vous êtes les bienvenus! –

Répondre

4

A partir de la pop-up, vous pouvez utiliser la propriété opener pour faire référence à la fenêtre parent ...

opener.location.href = 'http://www.google.com'; 

Vous pouvez également appeler des fonctions dans la fenêtre parent ...

opener.functionName(); 

de Bien sûr, le bon vieux same origin policy restrictions s'appliquent ici

+0

Pourriez-vous un peu plus éloborative en ce qui concerne window.opener, je ne peux pas comprendre pleinement les liens que vous avez fournis –

+0

@OM Essayez simplement quelque chose de rapide et sale comme '

' –

0

Je dirais d'utiliser showModalDialog, vous serez donc geler la fenêtre parent, et après cela est fait, vous pouvez envoyer une variable parent et faire la redirection:

MainWindow:

function ShowModalForm() 
{ 
    var urlToRedirect = window.showModalDialog('url'); 
    if (urlToRedirect) 
     window.location = urlToRedirect; 
} 

fenêtre pop-up:

function buttonAcceptClicked() 
{ 
    //Do stuff you need 
    window.returnValue = "new url"; 
    window.close() 
} 

Here est beaucoup d'informations à ce sujet.

+0

Pouvez-vous me montrer une application de ce genre de choses? –

+0

Cela fonctionnera uniquement dans IE –

+0

@OM L'Eternité, l'idée des popups Modal est d'arrêter le "thread parent" pendant son ouverture, donc si vous avez un formulaire dans votre modal, l'exécution par le parent s'arrêtera dans la fenêtre ligne .showModalDialog jusqu'à ce que ce modal soit fermé, après ça il va continuer à utiliser la var retournée. – pjnovas