`
qingyuan914
  • 浏览: 22093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

页面父子窗口的通信

JSP 
阅读更多

当父窗口执行此方法:

function showWin(){

         var retValue=new Array();
         var url="/jsp/employee/employeeInfoList.jsp";
         retValue=window.showModalDialog(url,'','dialogHeight:400px;dialogWidth:600px');

         document.aform.employeeName.value=retValue[0];
         document.aform.employeeId.value=retValue[1];
         document.aform.team.value=retValue[2];
         document.aform.telephone.value=retValue[4];
         document.aform.costCenter.value=retValue[10];
}

后,将弹出路径为/jsp/employee/employeeInfoList.jsp的子窗口;

字窗口的程序:

function evalSave()  {
    var checks = getCheckedOnly(document.aform.chkIndex);
    var until = checks.length;
    for (var idx=0; idx < until; idx++) {
      selectRow(checks[idx]);
    } 

}

function getCheckedOnly(inputs) {
 var result = new Array();
 if (inputs && inputs.tagName == "INPUT" && inputs.checked) result[0] = inputs;
 else if (inputs && inputs.length && inputs.length > 0 ) {
  var until = inputs.length;
  for (var idx=0; idx<until; idx++) {
   if (inputs[idx].tagName == "INPUT" && inputs[idx].checked) result[result.length] = inputs[idx];
  }
 }
 return result;
}

function selectRow(radio){
  var oTR = findParentTag(radio, "TR");
  var name = findTagByName(oTR, "input", "name").value;
  var nameCn = findTagByName(oTR,"input","nameCn").value;
  var employeeId = findTagByName(oTR, "input", "employeeId").value;
  var teamName = findTagByName(oTR, "input", "teamName").value;
  var email = findTagByName(oTR, "input", "email").value;
  var officeTel = findTagByName(oTR, "input", "officeTel").value;
  var tel = findTagByName(oTR, "input", "tel").value;
  var departmentName = findTagByName(oTR, "input", "departmentName").value;
  var gradeEn = findTagByName(oTR, "input", "gradeEn").value;
  var grade = findTagByName(oTR, "input", "grade").value;
  var costCenter=findTagByName(oTR, "input", "costCenter").value;
  var myArray=new Array();
  myArray[0]=name;
  myArray[1]=employeeId;
  myArray[2]=teamName;
  myArray[3]=email;
  myArray[4]=officeTel;
  myArray[5]=tel;
  myArray[6]=departmentName;
  myArray[7]=gradeEn;
  myArray[8]=grade;
  myArray[9]=nameCn;
  myArray[10]=costCenter;
  returnValue = myArray;
  window.close();
}

function findParentTag(oTag, tagName) {
  while (oTag && oTag.tagName != "BODY") {
    if (oTag.tagName == tagName) return oTag;
    oTag = oTag.parentNode;
  }
  return null;
}

function findTagByName(oTag, tagName, name) {
 var tags = oTag.getElementsByTagName(tagName);
 for (var idx=0; idx<tags.length; idx++) {
  if (tags[idx].name == name) return tags[idx];
 }
  return null;
}

这样就把字窗口中选中的一条记录返回到父窗口中,并放到相应的input中。

分享到:
评论

相关推荐

    window.open父子窗口传值问题

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

    js 控制父子窗口 转向

    2. **父子窗口通信**: - **父窗口访问子窗口**:通过子窗口的名字可以访问到子窗口的`window`对象,例如`childWindow.document`可以用来操作子窗口的DOM。 - **子窗口访问父窗口**:子窗口可以通过`window.opener...

    创建子窗口与子父窗口间通信

    以上代码展示了如何使用`window.postMessage`进行父子窗口间的通信。 **安全性和最佳实践:** - 为了安全,使用`postMessage`时应验证`event.origin`以确保消息来自预期的源。 - 避免过度依赖cookies或URL参数,...

    ie 模态弹窗 父子窗口交换数据

    这里,我们专注于一个特定的场景:`ie 模态弹窗 父子窗口交换数据`。模态弹窗(通常称为 modal window)是在当前页面上打开的新窗口,它阻止用户与背景页面交互,直到弹窗关闭。在Internet Explorer(IE)浏览器中,...

    jquery父子窗口互相获取元素demo

    在这个“jquery父子窗口互相获取元素demo”中,我们将深入探讨如何利用jQuery来实现在父窗口与子窗口之间共享和操作DOM元素。 首先,`test.html`和`Untitled-1.html`可能是包含jQuery示例的两个网页文件。通常,父...

    javascript 父窗口、子窗口传值问题

    在JavaScript编程中,父窗口与子窗口之间的通信是一种常见的需求,特别是在构建多...在实际应用中,根据场景和安全性要求选择合适的方法进行父子窗口间的通信。同时,要确保遵循同源策略,因为跨域通信可能会受到限制。

    父子页面相互调用总结

    在IT行业中,父子页面之间的通信是一项常见的需求,特别是在构建复杂Web应用时。本文将深入探讨四种主要的方法:`showModelessDialog`、`window.open`、`showModalDialog`以及`iframe`,来实现这样的交互。 首先,...

    动态增删table以及后台传值和弹出窗口父子窗口传值

    在IT行业中,动态增删table和后台传值是前端与后端交互的重要技术,而弹出窗口父子窗口之间的数据传递则是提升用户体验的关键。下面将详细解释这些知识点。 首先,动态增删table是一种常见的用户界面设计,它允许...

    iframe父页面与子页面通信及相互调用方法

    在网页开发中,`iframe`(Inline Frame)是一种嵌入其他HTML文档的元素,它允许我们在一个页面中显示另一个页面的内容。"iframe父页面与子页面通信及相互调用方法"是一个重要的主题,涉及到跨域安全、DOM操作以及...

    HTML 父窗口打开子窗口,并接收子窗口返回的值.zip

    在web服务器上,所有文件被视为同一域,从而允许父子窗口之间的通信。 综上所述,这个压缩包提供的示例展示了如何在HTML页面中使用JavaScript打开子窗口,以及如何在子窗口与父窗口之间通过`postMessage()`和`...

    父子页面数据相互传递

    3. `postMessage` API:这是一种跨窗口通信的方式,允许父子页面之间发送和接收消息。父页面可以通过`window.open`创建子页面,并监听`message`事件接收子页面发送的数据;子页面则可以调用`window.parent.post...

    javascript父子页面传参

    - **`postMessage()` API**:这是一个跨窗口通信的API,允许页面向任何其他打开的窗口发送消息。在子页面中,调用`window.parent.postMessage(data, targetOrigin)`,在父页面中,注册`window.addEventListener('...

    两个窗口传值

    2. **线程通信**:如果窗口分别属于同一应用的不同线程,我们可以使用线程同步机制,如互斥锁、条件变量、信号量等来控制对共享资源的访问,从而实现值的传递。例如,线程A修改数据后,通过互斥锁阻止线程B立即访问...

    JS简单实现父子窗口传值功能示例【未使用iframe框架】

    在这个场景中,我们通常会使用`window.open()`或`window.showModalDialog()`方法来创建子窗口,并通过特定的API来实现父子窗口之间的通信。在本示例中,我们将探讨如何在不使用iframe框架的情况下,利用JavaScript...

    asp.net 父子页面传值

    在ASP.NET中,父子页面之间的通信是Web应用程序中常见的需求,尤其在构建复杂交互的多层级界面时。本文将深入探讨如何在ASP.NET环境中实现父子页面间的值传递,并分享一些实用的技术和策略。 首先,我们要了解ASP...

    嵌套iFrame使用postMessage相互传递消息(嵌套iFrame、跨父子窗口、跨页面).zip

    练习说明:使用postMessage可以在iFrame、父子窗口、跨页面等,之间相互传递消息。 你好,我是TKCB-GO,一个有着游戏策划梦想,却沦为程序员的游戏家,这是我的技术博客:www.tkcb.cc 技术博客网站里面,除了我的...

    如何实现iframe父子传参通信

    `iframe`的父子通信可以让我们实现不同页面间的交互,无论是同源策略下的非跨域通信,还是需要应对跨域场景。下面我们将详细介绍这两种情况下的实现方式。 ### 非跨域通信 #### 父调子 在非跨域情况下,父页面...

    HTML父子页面

    - Window.postMessage:这是一种现代浏览器支持的跨窗口通信方式,允许父子页面之间安全地传递消息。父页面监听message事件,子页面通过window.parent.postMessage发送数据。 父页面: ```javascript window....

    父子页面传数据.rar

    当父子页面不在同一窗口或者框架内时,可以使用`window.postMessage`进行通信。父页面向子页面发送消息,子页面通过`message`事件监听并处理数据。此方法适用于跨窗口或跨域通信,安全性较高。 5. `window`对象...

    iframe父子传值

    然而,当涉及到`iframe`中的父子窗口间通信时,开发者可能会遇到一些挑战。本文将详细介绍如何在`iframe`的父窗体与子窗体之间进行数据传递。 ### 1. 同源策略与跨域限制 首先,我们需要了解浏览器的安全机制——...

Global site tag (gtag.js) - Google Analytics