2011-01-09 88 views
1

iframeに別のページを読み込むjQueryモーダルダイアログがあります。iFrameを含むjQueryモーダルダイアログを閉じるにはどうしたらいいですか?

iframeページにフォームがあり、ユーザーがフォームを送信した後に自動的にjQueryモーダルダイアログを閉じるようにしています。

これは可能ですか?

おかげで、(first.html上)

LoadModalコード:IFRAMEのフォームが送信された後

<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> 

のiframeコード(Iframe.htmlの)

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

、私はしたいと思いますfirst.html jQuery関数で開いたダイアログを閉じます。

答えて

3

それはあなたがIFRAME内からダイアログを閉じたいということならば、私は、後に完全な例を提供することができます...

+0

ねえローマンを、それは素晴らしいですね。しかし私が使用しているコードは自動的にdivを作成するので、私は自分のコードを含むように私の質問を編集したidが何であるかはわかりません。私のコードを私のものに適用するにはどうすればいいですか?ありがとう –

+0

あなたはもちろんダイアログ変数を使用することができます... – roman

+0

どうすればいいですか?申し訳ありませんが、私はあなたが何を意味するかわからない.. –

0

をすることができます必要であれば、あなたはその

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

ような何かを試みることができますサンプルまたはソースコードを送信しますか?

できない場合は、target = "" attrでアンカーを挿入してみてください。

+0

質問を編集してソースコードを追加しました。読み込まれているiframeにはフォームがあります(フォームaction = "")。提出されたら、私はモーダルダイアログを閉じたいと思います。どうしたらいいですか? –

+0

このプラグインにhideModal()関数がありますか? – Eray

+0

あなたもhtmlコードを共有できます – Eray

1

私は別のソリューション(受け入れ1は、私の場合には動作しませんでした)があります。

parent.$('.ui-dialog-titlebar-close').click(); 
関連する問題