【问题标题】:Fancybox not working after submitting the parent page提交父页面后,Fancybox 无法正常工作
【发布时间】:2013-03-26 13:10:05
【问题描述】:

我在一个页面中有两个按钮。一个用于提交页面,一个用于 Fancybox。单击提交按钮后,Fancybox 无法正常工作。我在提交按钮点击时使用 YII 模型验证。

我的 facybox js 是:

 $(function(){
$(".various3").fancybox({
'width'             : '75.65%',
'height'            : '100%',
'top'               : '-1020',
'autoScale'         : false,
'autoDimensions'                : false,
'scrolling'                     :'No',
'transitionIn'                  : 'none',
'transitionOut'                 : 'none',
'type'              : 'iframe',
'padding'                       : 0,
'margin'                        : 0,
'onComplete'                    : function(){$('.fancybox-iframe').contents().find('#MerchantLocations_location_name').focus();}
    });

});

这是我的看法:

<a href="<?php echo Yii::app()->createAbsoluteUrl('/admin/addlocation/');?>" class="various3 " ><input type="button" class="big-btns-small floatright" value="Add Location"/></a>

Mozilla 的错误控制台也出现“Error: TypeError: t is undefined”

【问题讨论】:

    标签: php jquery yii fancybox


    【解决方案1】:

    如果您正在使用 Yii 网格及其搜索功能,则很可能在搜索查询的响应中,您会在 AJAX 响应中再次获得 jQuery。 然后jQuery 的重新初始化会破坏您现有的 FancyBox 小部件。

    快速的解决方法是在clientScript 组件的scriptMap 部分禁用jQuery,有关详细信息,请参阅此问题:How to disable jQuery autoloading on Ajax request in Yii?

    【讨论】:

    • 它不是网格页面,它是一个页面添加和 ajax 验证被禁用
    【解决方案2】:

    终于修好了……

    我将花式盒子从 1.3.4 更新到最新版本 2.1.4

    现在发生的事情是弹出窗口来了。但是具有“fancybox-overlay”类的 div 将出现 2 次。即第一个弹出内容和另一个空白(无内容)。由于空白 div 超过另一个。当我点击弹出窗口时弹出窗口立即关闭。

    为了克服这个问题,fancybox 脚本和样式表的包含移到了网站的标题部分(它到 view/layout/main.php)。

    感谢@schmunk 抽出宝贵时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 2014-01-16
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 2014-01-23
      相关资源
      最近更新 更多