`
oboaix
  • 浏览: 275242 次
社区版块
存档分类
最新评论

JS父窗体与子窗体之间互相传值

阅读更多
使用IE6.0以上运行以下两个.HTML文件格式(放在同一个文件目录下)(原创)
father.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY onload="window.status='小波资源'">
<form name="form1" id="form1">
  <center>
  <font color="blue" size="5">get Son Window element value</font><br/>
  <input type="text" name="test1" id="test1" value="111"/><br/>
  <input type="text" name="test2" id="test2" value="222"/><br/>
  <input type="text" name="test3" id="test3" value="333"/><br/>
  <input type="text" name="test4" id="test4" value="getSonValue"/><br/>
  <input type="button" name="button" id="button" value="TEST" onclick="showModel()"/><br/>
  </center>
</form>
</BODY>
</HTML>
<script language="javascript">
function showModel(){
  var arrayObj=new Array(document.getElementById("test1").value,document.getElementById("test2").value,document.getElementById("test3").value);
  var returnValue=window.showModalDialog("son.html",arrayObj,'dialogWidth:650px;dialogHeight:450px');
  if(typeof(returnValue) != "undefined"){
   document.all("test1").value=returnValue.t1;
   document.all("test2").value=returnValue.t2;
   document.all("test3").value=returnValue.t3;
   document.all("test4").value=returnValue.t4;
   if(returnValue!=null){
    if(confirm("Are you refresh???"))
    location.reload();//refresh father window.html
   }
  }
  if(returnValue+""=="undefined"){
   if(confirm("Are you refresh???"))
   location.reload();//refresh father window.html
  }
}
</script>


son.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<base target="_self">
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY onload="window.status='小波资源'">>
<form name="son" id="son">
  <p align="right"><input type="button" name="refresh" id="refresh" value="refresh" onclick="history.go(0);"/></p>
  <p align="center">
   <font color="red" size="8">I am another window!!!</font>
   <br/>
   <input tyep="text" name="t1" id="t1" value="aaa"/><br/>
   <input tyep="text" name="t2" id="t2" value="bbb"/><br/>
   <input tyep="text" name="t3" id="t3" value="ccc"/><br/>
   <input tyep="text" name="t4" id="t4" value="++sonwindow++"/><br/>
   <input tyep="text" name="get1" id="get1" value="getFatherValue1"/><br/>
   <input tyep="text" name="get2" id="get2" value="getFatherValue2"/><br/>
   <input tyep="text" name="get3" id="get3" value="getFatherValue3"/><br/>
  </p>
  <br/>
  <div align="center">
   <input type="button" name="getButton" id="getButton" value="getFatherWindowElementValue" onclick="getValue();"/><br/>
   <input type="button" name="close" id="close" value="closeSonWindow" onclick="close1();"/><br/>
   <input type="text" name="key" id="key" value="getKeyValue" onKeyPress="getKeyValue();" />
  </div>
</form>
</BODY>
</HTML>
<script language="javascript">
//alert(document.all("t2").value);
//alert(parent.window.opener.document.getElementById("test1").value);
function getValue(){
  var a=window.dialogArguments;
  if(a!=null){
   document.getElementById("get1").value=a[0];
   document.getElementById("get2").value=a[1];
   document.getElementById("get3").value=a[2];
  }else{
   alert("Need to open father window!!!");
  }
}
function close1(){
  var returnObj=new Object();
  returnObj.t1=document.getElementById("t1").value;
  returnObj.t2=document.getElementById("t2").value;
  returnObj.t3=document.getElementById("t3").value;
  returnObj.t4=document.getElementById("t4").value;
  window.returnValue=returnObj;
  alert("Close son window,and pass son window parameters to father window element!!");
  window.opener=null;
  window.close();
}
function getKeyValue(){
  var key=event.keyCode;
  alert("key==="+key);
}
</script>




分享到:
评论

相关推荐

    子窗体传值给父窗体的select

    1. **子窗体与父窗体通信**:在JavaScript或者类似的客户端脚本语言中,子窗体和父窗体之间的通信可以通过多种方式实现。如果子窗体是弹出的模态对话框,通常可以通过事件监听和回调函数来传递信息。例如,可以在子...

    无刷新 子窗体传值父窗体

    在IT行业中,尤其是在Web开发领域,"无刷新子窗体传值父窗体"是一个常见的需求,它涉及到页面间通信和用户体验优化。无刷新技术可以让用户在不重新加载整个页面的情况下更新部分页面内容,提高交互性和效率。在这个...

    javascript 子窗体父窗体相互传值方法

    在JavaScript编程中,子窗体与父窗体之间的数据传递是前端开发中常见的需求。当通过JavaScript的window.open函数打开一个新的浏览器窗口时,这个新窗口被称为子窗体(子窗口),而打开这个新窗口的页面则被称为父...

    利用模态对话框实现父窗体、子窗体间传值

    本话题将详细探讨如何利用模态对话框来实现在父窗体和子窗体之间传递数据,以及涉及到的客户端和服务器端技术。 首先,`showModalDialog` 是一个在浏览器环境中(主要是Internet Explorer)用于打开一个新的窗口或...

    ShowModalDialog父窗体向子窗体传值

    总的来说,`showModalDialog`和`showModelessDialog`是JavaScript中用于创建弹出式对话框的两种方式,它们提供了在父窗口与子窗口之间传递数据的机制,同时也能够定制对话框的外观和行为。在实际应用中,根据需求...

    使用js通过iframe给父窗体传值以及取值

    通过js实现的子窗体与父窗体之间的值传递

    子窗体与父窗体传值示例js代码

    在JavaScript编程中,特别是在网页交互和窗口管理中,子窗体与父窗体之间的通信是非常常见的需求。子窗体可以是弹出的模态对话框,也可以是框架集中的子框架,而父窗体则是包含这些子窗口的主页面。在处理用户交互或...

    模式窗体页面传值关于自定义控件与页面之间的传值

    "模式窗体页面传值"这一主题主要关注的是如何在模态对话框(模式窗体)与主窗口(页面)之间有效地传输数据。以下是一些关键知识点: 1. **模式窗体(Modal Form)**:模式窗体是一种阻止用户与窗口背后内容交互的...

    JS父页面与子页面相互传值方法

    在多页面应用或者嵌入式框架(如iframe)中,经常需要进行父页面与子页面之间的数据交换。下面将详细介绍如何在不同场景下使用JS实现这种传值。 一、子页面是父页面通过`window.open`弹出的情况 当子页面是通过`...

    easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    综上所述,EasyUI弹出窗口的传值与调用父页面方法涉及到前端页面交互的基本技术,理解并熟练掌握这些技巧对于前端开发者来说至关重要。通过正确使用这些方法,可以有效地实现页面间的数据流动和功能协同,提升用户...

    Javascript 两个窗体之间传值实现代码

    本文将探讨如何使用JavaScript实现从一个子窗体向父窗体传递数据。 首先,通过window.open()函数,可以实现打开一个新的浏览器窗口。此函数通常在父窗体中调用,并可以传递一个URL参数来指定新窗口加载的页面。...

    window.open父子窗口传值问题

    当我们谈论“window.open父子窗口传值问题”,我们指的是在父窗口通过`window.open`创建了一个子窗口,并需要在两者之间进行数据通信的情况。 首先,让我们了解一下`window.open`的基本语法: ```javascript var ...

    javascript 实现子父窗体互相传值的简单实例

    本文将深入探讨如何使用JavaScript实现子父窗体之间的数据交互,主要关注`window.showModalDialog()`方法。 `window.showModalDialog()` 是一个用于打开模态对话框的函数,它会阻止用户与对话框之外的任何内容进行...

    .NET中利用js让子窗体向父页面传值的实现方法.docx

    总结一下,.NET中利用JavaScript实现子窗体向父页面传值的步骤如下: 1. 在子页面C#后台中,创建一个方法,如`SetValueToParentPage`,生成JavaScript代码,将需要传递的值赋给`window.returnValue`,并关闭子窗口...

    Javascript showModalDialog两个窗体之间传值

    Javascript 两个窗体之间传值实现代码javascript中还有一个函数window.showModalDialog也可以打开一个新窗体,不过他打开的是一个模态窗口,那么如何在父窗体和子窗体之间传值呢?我们先看该函数的定义:...

    frameSet应用 子父窗口传值

    总结,`frameSet`在实现多窗口布局和子父窗口通信时发挥了作用,但在现代Web开发中,为了更好的用户体验和兼容性,建议使用`iframe`和JavaScript的`postMessage`方法来替代。同时,利用JSP或类似的服务器端技术可以...

    iframe父子传值

    本文将详细介绍如何在`iframe`的父窗体与子窗体之间进行数据传递。 ### 1. 同源策略与跨域限制 首先,我们需要了解浏览器的安全机制——同源策略。同源策略规定,只有相同协议、域名和端口的两个页面才能相互访问...

Global site tag (gtag.js) - Google Analytics