情况说明:在页面弹窗过程中,我连续使用了两个iframe,这里暂且将其称为page1和page2。在修改数据过程中,page1中弹出修改页面page2,page2页面操作完成后关闭page2页面,结果page1页面的工具栏按钮点击没有反映。
出现这种情况的原因是我在page2页面的关闭事件中,写了一个page1页面的刷新事件,代码如下:
function AddGroup(Id) {
JQ.dialog.dialogIframe({
title: "自定义组",
url: 'PMModules/Pub/UserDefinedGroup.aspx',
width: '700',
height: '540',
JQID: "UserDefinedGroupGrid",
JQLoadingType: 'datagrid',
iconCls: 'fa fa-plus',
onClose: function () {
window.location.reload();//此处存在问题
}
});
}
这里的reload方法,重新加载了Form表单,但没有绑定工具栏按钮的触发事件,导致该按钮失效。
这里我将刷新方法做了修改,采用局部刷新的方式,选择性地刷新自己需要的数据源,例如我这里有左右两个tree,我选择刷新leftTree:
$("#employeeLeftTree").tree("reload");//局部刷新
同理,刷新datagrid:
$("#datagrid").datagrid("reload");
PS:感谢同事的帮忙。