2011-01-09 3 views
1

J'ai une boîte de dialogue modale jQuery qui charge une page différente sur un iframe.Comment fermer une boîte de dialogue jQuery Modal avec un iframe?

La page iframed a un formulaire et j'essaye de l'obtenir pour fermer la boîte de dialogue modale jQuery automatiquement après que l'utilisateur a soumis le formulaire.

Est-ce encore possible?

Merci,

Code LoadModal (sur first.html):

<script type="text/javascript"> 
function showModal(url) { 
$(function() { 


var $this = $(this); 
var horizontalPadding = 30; 
var verticalPadding = 30; 
$('<iframe id="externalSite" scrolling="no" frameborder="0" class="externalSite" src="' + url + '" />').dialog({ 
title: ($this.attr('title')) ? $this.attr('title') : 'Choose your location', 
autoOpen: true, 
width: 700, 
height: 700, 
modal: true, 
resizable: true, 
autoResize: true, 
overlay: { 
    opacity: 0.5, 
    background: "black" 
} 

}).width(700 - horizontalPadding).height(700 - verticalPadding);    

}); 
} 
</script> 
<button onclick="showModal('/iframe.html');">Add</button> 

code iframe (de iframe.html)

<html> 
<body> 
<form action="" method="POST"> 
<input type="text" name="test"> 
<input type="submit"> 
</body> 
</html> 

après forme iFrame est soumis, je voudrais fermez la boîte de dialogue ouverte par la fonction jQuery first.html.

Répondre

3

si cela signifie que vous souhaitez fermer la boîte de dialogue à l'intérieur de l'iframe, vous pouvez essayer quelque chose comme ça

parent.$('#your-dialog-id').dialog('close'); 

si besoin je peux fournir un exemple complet plus tard ...

+0

Hey roman, qui sonne bien. Mais le code que j'utilise crée la div automatiquement, donc je ne sais pas quel est l'identifiant (j'ai édité ma question pour inclure mon code). Comment puis-je appliquer votre code au mien? merci –

+0

vous pourriez bien sûr utiliser votre variable de dialogue ... – roman

+0

Comment faire cela? Désolé je ne suis pas sûr de ce que vous voulez dire .. –

0

Pouvez-vous envoyer un exemple ou un code source?

Si vous ne pouvez pas, essayez de mettre un achor avec target = "" attr.

+0

J'ai modifié ma question pour inclure le code source. L'iframe en cours de chargement contient un formulaire (form action = ""). Une fois qu'il est soumis, je voudrais fermer la boîte de dialogue modale. Comment puis-je le faire? –

+0

y a-t-il une fonction hideModal() pour ce plugin? – Eray

+0

et pouvez-vous partager des codes html, aussi – Eray

1

J'ai une autre solution (celle acceptée ne fonctionnait pas dans mon cas):

parent.$('.ui-dialog-titlebar-close').click(); 
Questions connexes