layer与iframe 间值的相互传递

在A页添加

1 <input id="handle_status" value="" hidden="hidden">

jq代码

                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});
            }
        });
    }
原文地址:https://www.cnblogs.com/xujian2016/p/7251710.html