提交父页面后Fancybox无法正常工作

时间:2013-04-04 12:44:28

标签: php jquery yii fancybox

我在页面中有两个按钮。一个用于提交页面,另一个用于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的错误控制台“错误:TypeError:t未定义”正在出现

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

终于修好了......

从1.3.4

更新了最新版本2.1.4的花式框

现在发生了什么是弹出窗口即将到来。但是类'fancybox-overlay'的div来了2次。即第一个具有弹出内容而另一个具有空白(无内容)。由于空白div正在越过另一个。当我点击弹出窗口时弹出窗口立即关闭。

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

感谢@schmunk您宝贵的时间。