2016-03-15 167 views
0

我有一個網站,當我點擊一個鏈接時,它會彈出一個fancybox窗口,供用戶在窗體中輸入一些細節。iframe fancybox關閉後刷新父窗口

一旦用戶完成表單並關閉它,我希望父窗口刷新以便新數據顯示。

我使用的是fancybox 2.1.5版本,如果我可以更改jquery.fancybox.js來實現此更改而不是個別框,因爲這是需要在所有花哨框上工作的東西。

有什麼建議嗎?

這是我如何在目前運行的fancybox:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.fancybox').fancybox(); 

     $("#fancybox-manual-b").click(function() { 
      $.fancybox.open({ 
       href : 'device-info.php', 
       type : 'iframe', 
       padding : 5 
      }); 
     }); 
    }); 

</script> 

這是從HREF引用這樣的:

<a class="fancybox fancybox.iframe" href="edit-device.php"><img src="img/edit.png"</a> 
+0

更好的方法似乎是使用'afterClose'回調,解釋[這裏](http://fancyapps.com/fancybox/#docs)。你能提供調用fancybox的代碼嗎?它強烈**推薦不改變jquery.fancybox.js代碼,所以它可能更適應fancybox調用。 –

+0

我已經編輯它作爲要求有代碼。我很感激幫助。 – Legend1989

回答

0

你可以使用一個通用的配置對象,只需修改每次通話所需的屬性。類似這樣的:

// This is the basic config, common to all calls 
var fancybox_general_config = { 
    type : 'iframe', 
    padding : 5, 
    afterClose: function() { 
     location.reload(); 
    } 
} 

// modifies just the href attribute, keeping other values 
fancybox_general_config.href = 'device-info.php'; 
$("#fancybox-manual-b").fancybox(fancybox_general_config); 

// modifies just the href attribute again, keeping other values 
fancybox_general_config.href = 'device-info-2.php'; 
$("#fancybox-manual-c").fancybox(fancybox_general_config); 

希望它有幫助!