父子页面之间如何传值?关闭子页面之后数据回显到上一层页面上

本文介绍了一种在网页开发中实现父子页面间数据传递的方法。通过在父页面定义特定的全局变量,并在子页面中调用这些变量来实现跨页面的数据交换。此方法适用于需要在多个页面间共享数据的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script>  //父页面A上注册Input这个function
	window.input = {
			data_role:{}, //用于存放子页面调用input时需要传递的data
			isSure:false  //用于判断是否点击确定按钮,可以忽略
	} 
</script>
//父页面A上注册Input这个function
	window.input = {
			data_role:{}, //用于存放子页面调用input时需要传递的data
			isSure:false  //用于判断是否点击确定按钮,可以忽略
	} 
</script>
$('#rname').click(function(){  //这里是父页面A的子页面B 这里给一个按钮注册一个点击事件,点击弹出一个iframe层,下面称为子页面C
            parent.layer.open({
                type : 2,//弹窗类型 ['dialog', 'page', 'iframe', 'loading', 'tips']
                area : [ '567px', '360px' ],
                shift : 2,//可选动画类型0-6
                scrollbar : false,
                title : false,
                closeBtn : false,
                content : "${ctp}/sys/user/address.html?pk_user="+pk_user+"&pk_corp="+pk_corp,
               	end:function(){ //结束回调,代表子页面C关闭之后会调用的回调函数
               		if(parent.input.isSure){
               			$("#rname").val(parent.input.data_role.data_name); //给一个input赋上子页面C传来的data值
               			data_pk = parent.input.data_role.data_pk; //这是子页面C传来的data值
               		}
               	}
            });
        })//这里是父页面A的子页面B 这里给一个按钮注册一个点击事件,点击弹出一个iframe层,下面称为子页面C
            parent.layer.open({
                type : 2,//弹窗类型 ['dialog', 'page', 'iframe', 'loading', 'tips']
                area : [ '567px', '360px' ],
                shift : 2,//可选动画类型0-6
                scrollbar : false,
                title : false,
                closeBtn : false,
                content : "${ctp}/sys/user/address.html?pk_user="+pk_user+"&pk_corp="+pk_corp,
               	end:function(){ //结束回调,代表子页面C关闭之后会调用的回调函数
               		if(parent.input.isSure){
               			$("#rname").val(parent.input.data_role.data_name); //给一个input赋上子页面C传来的data值
               			data_pk = parent.input.data_role.data_pk; //这是子页面C传来的data值
               		}
               	}
            });
        })
/* 确定 */
	$('.sure').click(function(){   //这里是子页面B的子页面C
		parent.input = {  //调用它的父页面A的input这个function
			data_role:callbackdata(),  //把data传入父页面A中的data_role,这里cllbackdata()是我另外计算data的一个函数,可以忽略
			isSure:true //判断点击确定之后才进行数据回显,可以忽略
		}
		parent.layer.close(layerIndex); 
	}) //这里是子页面B的子页面C
		parent.input = {  //调用它的父页面A的input这个function
			data_role:callbackdata(),  //把data传入父页面A中的data_role,这里cllbackdata()是我另外计算data的一个函数,可以忽略
			isSure:true //判断点击确定之后才进行数据回显,可以忽略
		}
		parent.layer.close(layerIndex); 
	})

 

这样一系列调用即可做到父子页面之间传值。

 

大致就是在父页面注册一个function

window.input = {
data_role:""
} 

然后在子页面再调用它

parent.input.data_role  

各个方式大同小异。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值