2011-01-21 14 views
1

私はFancybox - フォームを送信して閉じますか?

$('a.detail').click(function() { 
    $.fancybox({ 
     'width'   : 750, 
     'height'  : 520, 
     'title'   : 'EDIÇÃO DE SHOW', 
    'titlePosition' : 'inside', 
    'transitionIn' : 'fade', 
    'transitionOut' : 'none', 
    'href'   : 'templates/detail.php?id=<?php echo $tg_id['id'];?>', 
    'type'   : 'iframe' 
    }) 
    }) 

とmyfancyにダウンコードのように私fancyboxを開始し、私はスケジュールに関する情報を更新するためのフォームを得ました。

$(function() { 

    $("form#comment").submit(function() { 

    var dat = $("#datepicker").val(); 
    var uf = $("#uf").val(); 
    var flr = $("input[name='flpic']:checked").val(); 
    var tit = $("#titulo").val(); 
    var mssg = $("#mensagem").val(); 
    var id = $("#id").val(); 

    if(BrowserDetect.browser == 'Explorer'){ 
    var nav = 'ie' 
    } else { 
    var nav = 'ot' 
    } 

    $.ajax({ 

      type: "POST", 
      url: "edit_agenda.php", 
      data: "id="+id+"&datepicker="+ dat+"&uf="+uf+"&fl="+flr+"&titulo="+tit+"&mensagem="+mssg+"&bro="+nav, 
      success: function(){ 

     $("#status").html("<img src='../images/1-0.gif' alt='Enviando' />"); 

    **???? Can I call some function to close this fancy here?** 

       } 

     }); 

     return false; 

    }); 

}); 

私の質問は:

した後、このフォームを送信し、私は関数内でこの空想を閉じることができますか?

+0

これはどのように正しく動作していますか? .fancyboxを呼び出すと、Fancyboxは自動的に表示されないので、表示していない他のコードを持っている必要がありますか? – Dobler

答えて

2

$.fancybox.close()で終了できます。マインドリーディングthe API

+0

ありがとう。私はそれを試してみます。 – Klauzito

+0

ポイントは、私のファンシーボックスは閉じていません。それはiframeの内側になります。 – Klauzito

+3

"iframe内で - parent。$。fancybox.close();を使用します。 –

-1

PHPソリューションを試してみると、必要に応じてJavaScriptで簡単に書き直すことができます。

<?php 
$close = 1; 
if($close) { echo ' <body onunload="self.close()"> ' ;} 
?> 
2
$.ajax({ 
    type: "POST", 
    url: "edit_agenda.php", 
    data: "id="+id+"&datepicker="+ dat+"&uf="+uf+"&fl="+flr+"&titulo="+tit+"&mensagem="+mssg+"&bro="+nav, 
    success: function(){ 
    parent.$.fancybox.close(); 
    } 
}); 
+0

このコードが問題をどのように解決するかについての説明を追加できますか? – Ren

0

のiframe内

<input name="submit" type="submit" value="close" onClick="$.fancybox.close();" /> 

も動作します。

0

Iframe内にparent.$.fancybox.close();を使用してください。

関連する問題