当父窗口执行此方法:
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`的基本语法: ```javascript var ...
2. **父子窗口通信**: - **父窗口访问子窗口**:通过子窗口的名字可以访问到子窗口的`window`对象,例如`childWindow.document`可以用来操作子窗口的DOM。 - **子窗口访问父窗口**:子窗口可以通过`window.opener...
以上代码展示了如何使用`window.postMessage`进行父子窗口间的通信。 **安全性和最佳实践:** - 为了安全,使用`postMessage`时应验证`event.origin`以确保消息来自预期的源。 - 避免过度依赖cookies或URL参数,...
这里,我们专注于一个特定的场景:`ie 模态弹窗 父子窗口交换数据`。模态弹窗(通常称为 modal window)是在当前页面上打开的新窗口,它阻止用户与背景页面交互,直到弹窗关闭。在Internet Explorer(IE)浏览器中,...
在这个“jquery父子窗口互相获取元素demo”中,我们将深入探讨如何利用jQuery来实现在父窗口与子窗口之间共享和操作DOM元素。 首先,`test.html`和`Untitled-1.html`可能是包含jQuery示例的两个网页文件。通常,父...
在JavaScript编程中,父窗口与子窗口之间的通信是一种常见的需求,特别是在构建多...在实际应用中,根据场景和安全性要求选择合适的方法进行父子窗口间的通信。同时,要确保遵循同源策略,因为跨域通信可能会受到限制。
在IT行业中,父子页面之间的通信是一项常见的需求,特别是在构建复杂Web应用时。本文将深入探讨四种主要的方法:`showModelessDialog`、`window.open`、`showModalDialog`以及`iframe`,来实现这样的交互。 首先,...
在IT行业中,动态增删table和后台传值是前端与后端交互的重要技术,而弹出窗口父子窗口之间的数据传递则是提升用户体验的关键。下面将详细解释这些知识点。 首先,动态增删table是一种常见的用户界面设计,它允许...
在网页开发中,`iframe`(Inline Frame)是一种嵌入其他HTML文档的元素,它允许我们在一个页面中显示另一个页面的内容。"iframe父页面与子页面通信及相互调用方法"是一个重要的主题,涉及到跨域安全、DOM操作以及...
在web服务器上,所有文件被视为同一域,从而允许父子窗口之间的通信。 综上所述,这个压缩包提供的示例展示了如何在HTML页面中使用JavaScript打开子窗口,以及如何在子窗口与父窗口之间通过`postMessage()`和`...
3. `postMessage` API:这是一种跨窗口通信的方式,允许父子页面之间发送和接收消息。父页面可以通过`window.open`创建子页面,并监听`message`事件接收子页面发送的数据;子页面则可以调用`window.parent.post...
- **`postMessage()` API**:这是一个跨窗口通信的API,允许页面向任何其他打开的窗口发送消息。在子页面中,调用`window.parent.postMessage(data, targetOrigin)`,在父页面中,注册`window.addEventListener('...
2. **线程通信**:如果窗口分别属于同一应用的不同线程,我们可以使用线程同步机制,如互斥锁、条件变量、信号量等来控制对共享资源的访问,从而实现值的传递。例如,线程A修改数据后,通过互斥锁阻止线程B立即访问...
在这个场景中,我们通常会使用`window.open()`或`window.showModalDialog()`方法来创建子窗口,并通过特定的API来实现父子窗口之间的通信。在本示例中,我们将探讨如何在不使用iframe框架的情况下,利用JavaScript...
在ASP.NET中,父子页面之间的通信是Web应用程序中常见的需求,尤其在构建复杂交互的多层级界面时。本文将深入探讨如何在ASP.NET环境中实现父子页面间的值传递,并分享一些实用的技术和策略。 首先,我们要了解ASP...
练习说明:使用postMessage可以在iFrame、父子窗口、跨页面等,之间相互传递消息。 你好,我是TKCB-GO,一个有着游戏策划梦想,却沦为程序员的游戏家,这是我的技术博客:www.tkcb.cc 技术博客网站里面,除了我的...
`iframe`的父子通信可以让我们实现不同页面间的交互,无论是同源策略下的非跨域通信,还是需要应对跨域场景。下面我们将详细介绍这两种情况下的实现方式。 ### 非跨域通信 #### 父调子 在非跨域情况下,父页面...
- Window.postMessage:这是一种现代浏览器支持的跨窗口通信方式,允许父子页面之间安全地传递消息。父页面监听message事件,子页面通过window.parent.postMessage发送数据。 父页面: ```javascript window....
当父子页面不在同一窗口或者框架内时,可以使用`window.postMessage`进行通信。父页面向子页面发送消息,子页面通过`message`事件监听并处理数据。此方法适用于跨窗口或跨域通信,安全性较高。 5. `window`对象...
然而,当涉及到`iframe`中的父子窗口间通信时,开发者可能会遇到一些挑战。本文将详细介绍如何在`iframe`的父窗体与子窗体之间进行数据传递。 ### 1. 同源策略与跨域限制 首先,我们需要了解浏览器的安全机制——...