1. 程式人生 > >layer與iframe 間值的相互傳遞

layer與iframe 間值的相互傳遞

在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});
            }
        });
    }