原来的父层:
var editContactById = function(contactsId){
if(contactsId!=null&&contactsId!=""&&contactsId!=undefined){
layer.open({
type: 2,
title: '编辑客户联系方式',
skin: 'layui-layer-lan',
shadeClose: true,
shade: 0.3,
area: ['90%', '90%'],
content: '${pageContext.request.contextPath}'+'/customer/vendercontactway/showedit?contactsId='+contactsId,
});
}
};
原来的子层:
jQuery.ajax({
type : 'POST',
url : '${pageContext.request.contextPath}/customer/vendercontactway/editSave',
cache : false,
async : false,
data : $('#form').serialize(),
dataType : 'json',
success : function(data) {
if (data.statusCode == "200") {
alert(data.message); //原来的消息提示为网页提示
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.queryVenders(0); //项目中实际为一个分页方法的调用,参数为0,意即更新到0页
parent.layer.close(index);
} else {
alert(data.message);
}
}
});
由子层代码可知,原来项目为网页提示。修改时想将其封装,然而在子层中加入代码:parent.layer.msg(data.mesage);之后,parent.layer.close(index);不起作用。
后来将分页方法转移到父层之后才完美实现。修改之后如下:
var editContactById = function(contactsId){
if(contactsId!=null&&contactsId!=""&&contactsId!=undefined){
layer.open({
type: 2,
title: '编辑客户联系方式',
skin: 'layui-layer-lan',
shadeClose: true,
shade: 0.3,
area: ['90%', '90%'],
content: '${pageContext.request.contextPath}'+'/customer/vendercontactway/showedit?contactsId='+contactsId,
end:function(){ //此处为新加入的方法,layer的iframe的end方法不管结果如何,都会调用
queryVenders(0);
}
});
}
};