通常,彈出層關閉之前,需要將部分數據傳入父頁面。這個時候怎么辦呢?
通過success獲取frame層的index。
然后通過cancel事件,獲取子頁面數據。
拿獲取高德地圖坐標為例:
// 顯示地圖,設置坐標
function showMap() {
var tmpIndex = '';
layer.open({
type: 2,
title: '獲取店鋪坐標與地址',
shadeClose: true,
shade: 0.8,
area: ['990px', '680px'],
content: '{$Think.config.SHOP_ADMIN_URL}/benefitShop/setAddress',
success:function (layero,index) {
tmpIndex = index;
},
cancel: function () {
// 獲取子彈出層數據
var addressComponentDom =layer.getChildFrame('#addressComponent', tmpIndex);
if (addressComponentDom.val() != '') {
var addressComponentJson = JSON.parse(addressComponentDom.val());
var formattedAddress = addressComponentJson.province+addressComponentJson.city+addressComponentJson.district+addressComponentJson.township+addressComponentJson.poisName;
var lnglatDom = layer.getChildFrame('#lnglat', tmpIndex);
$("#coordinate").val(lnglatDom.val());
$("#formattedAddress").val(formattedAddress);
$("#province").val(addressComponentJson.province);
$("#city").val(addressComponentJson.city);
$("#district").val(addressComponentJson.district);
$("#address").val(addressComponentJson.township+addressComponentJson.poisName);
}
}
});
}
通過index,進入frame層,獲取相關的數據,設置到主頁面,然后通過表單保存到數據庫。