父子页面传值问题

 父子窗口的操作有非常多的途径可以实现,如window.open(...),window.showModalDialog(...),以及iframe中嵌套页面等都可以实现,但是根据实际使用需要选用不同的方法。   

1、open子窗口:用window.opener代表父窗口的window对象,这里就不再赘述

2、iframe中子页面:用window.parent代表父窗口的window对象,同样省略

3、模态子窗口:间接通过传window对象到子窗口,然后子窗口可获得父窗口的window对象,在使用中,这种方法是传值最麻烦的一种,一般可将一个属性值或者直接传window值给新开窗口来操作。下面是在我在实际运用中的一个实例:   

 

父窗口打开模态子窗口:

<script type="text/javascript">
 function  openModal(){
  window.param='选择试卷';   
            var str=window.showModalDialog("getPaperListforExam.htm",window,"dialogTop:300px;dialogLeft:200px;status:no;help:no;scroll:yes");   
            var strDevide='---+++---';
            if(str!=null){   
                str1=str.slice(0,str.indexOf(strDevide));
                str2=str.slice(str.indexOf(strDevide)+strDevide.length);
                document.getElementById('paperId').value=str1;
                document.getElementById('paperName').value=str2;
            }
 }
</script>

 

 

子窗口返回值:

 

<script type="text/javascript">
	function  selectPaper(var1,var2){
		if(confirm('确定选择此试卷?')){
      	                   window.returnValue=var1+'---+++---'+var2;
	                    window.self.close(); 
                                }
	}
</script>

 

需要注意的是:returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。 showModalDialog,是模态窗口,始终获得焦点,但弹出的窗体不能刷新,此弹出的窗口 里操作button,要想不弹出新窗口,需在弹出的窗口中在<head>和</head>之间加<base target="_self">。  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值