天天看点

layer弹出层的使用——访问另外一个页面,进行数据交互

1、在父页面中点击按钮之后弹出一个框,里面加载另一个页面,称之为子页面

layer.open({
		title: '新增',
		type: 2,//很关键,只有type=2时,才会访问其他页面,否则以字符串的格式显示
		content: '../add.html?a=1&b=2&c=3 ',//问号后面向子页面传递参数,可以多个
		area: ['800px', '600px'],
		btn: ['添加','关闭'],
		yes:function(index){
            //获取子页面返回的数据,callbackdata()方法,定义在子页面,用来返回给父页面数据
		  var backdata = window["layui-layer-iframe" + index].callbackdata();
			//
            //可以进行一些列成功操作
            //
                  layer.closeAll()
		},
		btn2:function(){
			layer.closeAll()
		}
});
           

2、子页面获取父页面传递的参数的方法

<script>
function GetRequest() {  
        var url = location.search; //获取url中"?"符后的字串  
        var theRequest = new Object();  
        if (url.indexOf("?") != -1) {  
            var str = url.substr(1);  
            strs = str.split("&");  
            for (var i = 0; i < strs.length; i++) {  
                theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);  
            }  
        }  
        return theRequest;  
    }
    var request = new Object();  
    request = GetRequest();  
    var a = request['a'];
    var b = request['b'];
    var c = request['c']; 
</script>
           

3、子页面上的回调函数callback方法

<script>
	//子页面返回函数
	var callbackdata = function () {
		var backdata = 666;
		return backdata;
	};
</script>