Fancybox,只提交后刷新父页面,但不能关闭

时间:2014-01-06 04:34:01

标签: php jquery fancybox

我有一个Fancybox表单(iframe)。当用户提交表单时,我正在刷新父页面。但是如果用户决定在不提交的情况下关闭Fancybox表单,则仍然会刷新父页面。

这是我喜欢的盒子代码:

<script language="JavaScript"> 
$(document).ready(function() {
    $(".edit_product").fancybox({
        autoScale   : true,
        fitToView   : false,
        autoSize    : false,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        title       : '',
        type        : 'iframe', 
        afterClose  : function () {
                parent.location.reload(true);
        }               
    });
});
</script>

这是提交代码:

<script type="text/javascript"> //EDIT PRODUCT
$(document).ready(function() { 
    var options = { 
        target:        '',
        dataType:      'html',          
        beforeSubmit:  showRequest_editprod,        
        success:       showResponse_editprod
    }; 

    $(".edit_product_div").delegate("#edit_product_form","submit",function () {
        $("#edit_product_loading").show(500);
        $(this).ajaxSubmit(options); 
        return false;
    });

});
function showRequest_editprod(formData, jqForm, options){
    return true; 
}
function showResponse_editprod(responseText, statusText, xhr, $form){       
    parent.jQuery.fancybox.close();
}
</script>

有没有办法只在提交后刷新父页面,如果用户点击“x”或在Fancybox之外,它只是关闭了花式框而没有刷新?

感谢。

2 个答案:

答案 0 :(得分:0)

删除重新加载行:

afterClose  : function () {
                parent.location.reload(true);
        } 

parent.location.reload会再次加载页面。

将重新加载代码添加到此功能

的成功函数中
function showResponse_editprod(responseText, statusText, xhr, $form){    
    parent.location.reload(true);
}

答案 1 :(得分:0)

$(".fancybox").fancybox({
    afterClose : function() {
        location.reload();
        return;
    }
});
第11点

http://fancyapps.com/fancybox/#useful

试试http://jsfiddle.net/EWTxv/