layer與iframe 間值的相互傳遞
阿新 • • 發佈:2018-12-04
在A頁新增
1 <input id="handle_status" value="" hidden="hidden">
js程式碼
layer.open({ type: 2, title: '檢測點新增', // closeBtn: false, shadeClose: true, shade: 0.4, maxmin: true, //開啟最大化最小化按鈕 area: ['893px', '580px'], skin: 'layui-layer-rim', //加上邊框 content: 'address?act=1' success: function (layero, index) { //向iframe頁的id=house的元素傳值 // 參考 https://yq.aliyun.com/ziliao/133150 var body = layer.getChildFrame('body', index); body.contents().find("#house").val(111); }, end:function(){ // iframe頁提交後得到的ajax返回值,然後給父頁A中 id=handle_status的元素賦值,這邊end回撥後判斷該值 var handle_status = $("#handle_status").val(); if ( handle_status == 'ok' ) { layer.msg('新增成功!',{ icon: 1, time: 1000 }); $("#handle_status").val('') } else { if(handle_status.length>0 ){ //防止關閉視窗報錯 layer.msg(handle_status,{ icon: 2, time: 2000 //2秒關閉(如果不配置,預設是3秒) }); $("#handle_status").val(''); } } } });
B頁
//提交點選後 參考 http://www.cnblogs.com/jiqing9006/p/5135697.html var submitaddress=function(){ $.post('addaddress', $('#from_add').serialize(), function(res) { if(res=='ok'){ layer.msg(res,{time:3000}); parent.$("#handle_status").val(res); //給A頁的 id=handle_status 的元素賦值 parent.$(".layui-layer-close1").trigger('click'); //選中A頁關閉iframe視窗 }else{ parent.$("#handle_status").val(res); layer.msg(res,{time:3000}); } }); }