我有一个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之外,它只是关闭了花式框而没有刷新?
感谢。
答案 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点