利用JS在两个窗体之间传递值。

需求:
   在两个窗体之间传递消息。即:在父窗体处查询需要的数据。子窗体显示数据,在子窗体中选择一条需要数据,然后把其主健值回传给父窗体,后子窗体关闭。
注意:在子窗体处只能有一条数据被选中。
代码如下:
function check(obj,xh){
     var el = document.getElementsByTagName("input"); 
     for(var i=0;i<el.length;i++){
         if((el[i].type=="checkbox")&&(el[i].name!=obj.name)){
              el[i].checked=false;
         }
     }
     window.returnValue = xh ;
     window.close() ;  
}

 注意:有的IE中window.close() ;  要结合<base target="_self">使用。否则关闭不了  showModalDialog个窗体。<base target="_self">的存放位置为<html>与<body>之间。

 

showModalDialog和showModelessDialog数据传递技巧:

现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name

一般的传递方式:
  window.showModalDialog("filename.htm",var_name)
   //传递var_name变量
   在showModalDialog(或showModelessDialog)读取和设置时:
   alert(window.dialogArguments)//读取var_name变量
  window.dialogArguments="oyiboy"//设置var_name变量
 这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
 
以下是我建议使用的传递方式:
   window.showModalDialog("filename.htm",window)
   //不管要操作什么变量,只直传递主窗口的window对象
   在showModalDialog(或showModelessDialog)读取和设置时:
   alert(window.dialogArguments.var_name)//读取var_name变量
   window.dialogArguments.var_name="oyiboy"//设置var_name变量

   同时我也可以操作var_id变量
   alert(window.dialogArguments.var_id)//读取var_id变量
   window.dialogArguments.var_id="001"//设置var_id变量

   同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
   window.dialogArguments.form1.index1.value="这是在设置index1元素的值"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值