問題如題:
這里我們在父頁面定義一個全局的變量來標識是否需要刷新父頁面(聲明:下圖中點擊保存頁面之后,不關閉子頁面):點擊1出彈出窗口:
我們的目的是:如果,用戶保存過數據:在點擊關閉按鈕和2處所指的小X時,刷新父列表頁面;若果用戶沒有保存過數據,關閉窗口是不刷新父列表頁面。
//這里是父頁面(列表頁面)var isFreshFlag="1";<%--關閉修改窗口時是否刷新列表頁面標識,1:不刷新。2:刷新--%>
<%--新增窗口--%>
function addTradeProject(id){
isFreshFlag="1";
jBox.open(
"iframe:${ctx}/xxxController/goXXX.html?id="+id,
"新增", 800, 500,
{id:'addTradeProject', buttons: {}, iframeScrolling: 'yes', showClose: true,
closed:function (){
//在彈出窗口頁面,如果我們保存了數據,就將父頁面里的變量isFreshFlag 值設置為2
if(isFreshFlag==2){
location.reload();
}
}
}
);
}
彈出窗口頁面的保存方法:
function doSave() {
$.ajax({
type:"post",
url:"${ctx}/xxxController/saveXxx.html",
data:$("#formId").serialize(),
dataType:"json",
success:function(data){
if(data.result > 0){
alert("保存成功!");
hideLock("#listlist");
window.parent.window.isFreshFlag="2";//回寫父頁面的值
//刷新當前頁
location.reload();
}else{
alert("保存失敗,請聯系管理員");
}
}
});
}
window.parent.page(); //調用父窗體方法,當關閉子窗體刷新父窗體
window.parent.window.jBox.close(); //關閉子窗體