查看: 5716|回复: 3

关于子窗口向父窗口传值并关闭子窗口问题

[复制链接]
发表于 2011-11-1 13:17:25 | 显示全部楼层 |阅读模式
台州网址导航
点开父窗口(fu.html) ,点图片链接打开子窗口(zi.html) 子窗口有一条数据库记录(方便显示我直接写出来了),点这条记录会把这条记录的ID传到父窗口里。我以前都是在子窗口用到按钮提交可以实现关闭当前子窗口,用链接后这个方法就不行了。
问题:点链接后在新的当前窗口打开了父窗口,而不是把值传到了老的父窗口。

等待高手给指教,谢谢~~~~!



父窗口 fu.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>父窗口</title>
</head>
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="bgc_table">
  <tr>
<td width="33%" class="bgc_td">
  <input style="WIDTH: 127px" name=PolicyId >
  <a href="javascript:void(0)" onclick="javascript:window.open

('zi.html','newwindow','toolbar=no,scrollbars=yes,resizable=no,top=200,left=300,width=400,height=380');"

><img src="../images/customerdetail.gif" /></a>
  </td>
  </tr>
</table>
</body>
</html>

子窗口 zi.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>子窗口</title>
<link href="../css/css.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/javascript">
function close()
{
window.opener='';
window.close();
}
</script>
</head>
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="bian">
  <tr>
  <td width="18%" class="titlebg bianr">人员编号</td>   
  </tr>
</table>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1">
  <tr><a href="fu.html?bdid=100100" onclick="close()">
  <td width="18%" class="bgc_td_c"><font color=red>编号为100100的记录</font> </td>
  </a>
  </tr>   
</table>
</body>
</html>
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
 楼主| 发表于 2011-11-1 13:17:42 | 显示全部楼层
台州网址导航
如果要返回到父窗口的 某个 设置了 ID 的 <div> 中 可以这样  
在子窗口 onclick="close()" close() 之前加上 window.opener.document.getElementById('父窗体中某个 div 的 ID').innerHTML = document.getElementById('子窗体中某个 标签').value;
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
 楼主| 发表于 2011-11-1 13:17:53 | 显示全部楼层
台州网址导航
fu.html

HTML code<!----加个id---->
<input   style="WIDTH:   127px"   name=PolicyId  id="PolicyId" >


zi.html

HTML code
<!-----以后标签写规范点,什么能嵌套,什么不能---->
<table   width="100%"   border="0"   align="center"   cellpadding="0"   cellspacing="1">
    <tr>
        <td   width="18%"   class="bgc_td_c"><a   href="fu.html?bdid=100100"   

onclick="window.opener.document.getElementById('PolicyId').value=this.innerHTML;self.close();" style="color:red"> 编号为

100100的记录  </a>  </td>
        
    </tr>      
</table>
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
 楼主| 发表于 2011-11-1 13:18:11 | 显示全部楼层
台州网址导航
你把你记录内容前放个隐藏控件<input id="_hidBdid" type=hidden value="100100">
然后在父页面放一个接收该值的控件比如:<input type="text" id="ctrlid">
修改如下:
<script language=javascript>
  function doPastValue(){
  var pastvalue = document.getElementById("_hidBdid").value;
  window.opener.document.getElementById('ctrlid').value = pastvalue;
  window.close();
  }
</script>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1">  
  <tr>  
  <td width="18%" class="bgc_td_c">
  <a href="javascript:doPastValue()" style="color:red"> 编号为100100的记录 </a>
  </td>  
   
  </tr>   
</table>
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州维博网络(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:企业网站建设、网站程序开发、手机APP客户端、平面设计、主机域名、虚拟空间、网站推广、网站优化、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2018 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表