Fancybox - 表单提交并关闭它?

时间:2011-01-21 12:49:32

标签: javascript fancybox

我按照代码启动我的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,我得到了一个表格来更新关于时间表的信息。

$(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;

  });

 });

我的问题是:

提交此表单后,我可以在函数中关闭这个幻想吗?

6 个答案:

答案 0 :(得分:2)

您可以使用$.fancybox.close()关闭它。记住the API

答案 1 :(得分: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();
    }
});

答案 2 :(得分:0)

在iframe中

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

也可以。

答案 3 :(得分:0)

在Iframe中使用parent.$.fancybox.close();

答案 4 :(得分:0)

使用此以下脚本:

parent.jQuery.fancybox.close();

答案 5 :(得分:-1)

尝试PHP解决方案可以尝试在javascript中进行简单的重写(如果需要)。

<?php
$close = 1;
if( $close) { echo ' <body onunload="self.close()"> ' ;} 
?>