window.open返回值实例详解(子窗口向父窗口回显)

window.open实例:

1、父页面:

<script language="javascript" type="text/javascript">var wd;var winTimer;//计时器变量, 监听窗口关闭 function openWindow() {wd = window.open("test2.html",null," height=300,width=450,  Left=300px,Top=20px, menubar=no,titlebar=no,scrollbar=no,toolbar=no, status=no,location=no");if (wd)  window.wd.focus();//判断窗口是否打开,如果打开,窗口前置  winTimer=window.setInterval("wisclosed()",500);}function wisclosed(){if(wd.closed){  alert(window.returnVaule);//子窗体返回值  //这里可以做赋值操作  window.clearInterval(winTimer);  }  }</script>
</head>
<body><input type="button" id="btnShow" onclick="openWindow();"  value="显示子窗口"/>
</body>

2、子页面:

<script language="javascript" type="text/javascript">function doclose() {window.opener.window.returnVaule="ok";  parent.window.close(); }
</script>
</head>
<body><input type="button" id="btnSelect" onclick="doclose();"  value="关闭"/>
</body>

下面是实例代码:index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script language="javascript" type="text/javascript">var wd;var winTimer;//计时器变量, 监听窗口关闭 function openWindow() {wd = window.open("index2.jsp",null," height=300,width=450,  Left=300px,Top=20px, menubar=no,titlebar=no,scrollbar=no,toolbar=no, status=no,location=no");if (wd)  window.wd.focus();//判断窗口是否打开,如果打开,窗口前置  winTimer=window.setInterval("wisclosed()",500);}function wisclosed(){if(wd.closed){  alert("回显1111111111111111"+window.returnVaule);//子窗体返回值  //这里可以做赋值操作  window.clearInterval(winTimer);  }  }</script></head><body><input type="button" id="btnShow" onclick="openWindow();"  value="显示子窗口"/></body>
</html>

index2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script language="javascript" type="text/javascript">function doclose() {window.opener.window.returnVaule="ok";  parent.window.close(); }
</script></head><body><input type="button" id="btnSelect" onclick="doclose();"  value="关闭"/> </body>
</html>

下面讲一个在项目中的回显例子:window.open

这是父窗口zhibiaoAll.jsp 这个页面的

我需要拿到子窗口teaAll.jsp,传回来的值,用于教师的选择,然后进行  document.getElementById("tea_id").value=window.returnVaule;  进行数据的回显(把回显值赋值在老师那个输入框中)

那么怎么做呢?

这是在zhibiaoAll.jsp,父窗口的js代码

<script language="javascript" type="text/javascript">var wd;var winTimer;//计时器变量, 监听窗口关闭 function openWindow() {wd = window.open("<%=path %>/tea?type=teaAll",null," height=300,width=450,  Left=300px,Top=20px, menubar=no,titlebar=no,scrollbar=no,toolbar=no, status=no,location=no");if (wd)  window.wd.focus();//判断窗口是否打开,如果打开,窗口前置  winTimer=window.setInterval("wisclosed()",500);}function wisclosed(){if(wd.closed){  alert("回显1111111111111111"+window.returnVaule);//子窗体返回值  //这里可以做赋值操作  document.getElementById("tea_id").value=window.returnVaule;window.clearInterval(winTimer);  }  }function StringBuffer(){ this._strs = new Array; } StringBuffer.prototype.append = function (str) { this._strs.push(str); //添加} StringBuffer.prototype.pop = function (str) { this._strs.pop(str); //删除最后一个} StringBuffer.prototype.toString = function(){ return this._strs.join(","); }var sb = new StringBuffer();<c:forEach items="${requestScope.zhibiaoList}" var="zhibiao">sb.append(${zhibiao.id})</c:forEach>function check(){if(document.getElementById("tea_id").value==""){alert("请选择老师");return false;}document.getElementById("zhibiao_id").value=sb.toString();document.formAdd.submit();}</script>

这是在teaAll.jsp,子窗口的js代码

        <script language="javascript">function StringBuffer(){ this._strs = new Array; } StringBuffer.prototype.append = function (str) { this._strs.push(str); //添加} StringBuffer.prototype.pop = function (str) { this._strs.pop(str); //删除最后一个} StringBuffer.prototype.toString = function(){ return this._strs.join(","); }function queding(){var sb = new StringBuffer(); var object=document.getElementsByName("tea_id");//返回的obeject是数组for(i=0;i<object.length;i++){if(object[i].checked==true){sb.append(object[i].value); }}//alert("值"+sb.toString());                        window.opener.window.returnVaule=sb.toString();  parent.window.close(); } </script>

完整的jsp页面展示

zhibiaoAll.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false" %> <%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="pragma" content="no-cache" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /><meta http-equiv="keywords" content="keyword1,keyword2,keyword3" /><meta http-equiv="description" content="This is my page" /><link rel="stylesheet" type="text/css" href="<%=path %>/css/base.css" /><!--<script language="javascript">function teaAll(){var strUrl = "<%=path %>/tea?type=teaAll";var ret =  window.open (strUrl,"回复窗口","fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no, copyhistory=no,width=350,height=140,left=200,top=300");if(ret==undefined){ret="";}document.getElementById("tea_id").value=ret;}function StringBuffer(){ this._strs = new Array; } StringBuffer.prototype.append = function (str) { this._strs.push(str); //添加} StringBuffer.prototype.pop = function (str) { this._strs.pop(str); //删除最后一个} StringBuffer.prototype.toString = function(){ return this._strs.join(","); }var sb = new StringBuffer();<c:forEach items="${requestScope.zhibiaoList}" var="zhibiao">sb.append(${zhibiao.id})</c:forEach>function window.onload(){document.getElementById("zhibiao_id").value=sb.toString();}function check(){if(document.getElementById("tea_id").value==""){alert("请选择老师");return false;}document.formAdd.submit();}</script>--><script language="javascript" type="text/javascript">var wd;var winTimer;//计时器变量, 监听窗口关闭 function openWindow() {wd = window.open("<%=path %>/tea?type=teaAll",null," height=300,width=450,  Left=300px,Top=20px, menubar=no,titlebar=no,scrollbar=no,toolbar=no, status=no,location=no");if (wd)  window.wd.focus();//判断窗口是否打开,如果打开,窗口前置  winTimer=window.setInterval("wisclosed()",500);}function wisclosed(){if(wd.closed){  alert("回显1111111111111111"+window.returnVaule);//子窗体返回值  //这里可以做赋值操作  document.getElementById("tea_id").value=window.returnVaule;window.clearInterval(winTimer);  }  }function StringBuffer(){ this._strs = new Array; } StringBuffer.prototype.append = function (str) { this._strs.push(str); //添加} StringBuffer.prototype.pop = function (str) { this._strs.pop(str); //删除最后一个} StringBuffer.prototype.toString = function(){ return this._strs.join(","); }var sb = new StringBuffer();<c:forEach items="${requestScope.zhibiaoList}" var="zhibiao">sb.append(${zhibiao.id})</c:forEach>function check(){if(document.getElementById("tea_id").value==""){alert("请选择老师");return false;}document.getElementById("zhibiao_id").value=sb.toString();document.formAdd.submit();}</script></head><body leftmargin="2" topmargin="2" background='<%=path %>/img/allbg.gif'><form action="<%=path %>/pingjia?type=pingjiaAdd" name="formAdd" method="post"><table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D1DDAA" align="center" style="margin-top:8px"><tr bgcolor="#E7E7E7"><td height="14" colspan="3" background="<%=path %>/img/tbg.gif">&nbsp;评价老师&nbsp;</td></tr><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td width="20%" bgcolor="#FFFFFF" align="right">老师:</td><td width="80%" bgcolor="#FFFFFF" align="left"><input type="text" name="tea_id" id="tea_id" readonly="readonly"/><input type="button" value="选择1" onclick="openWindow();"/></td></tr><c:forEach items="${requestScope.zhibiaoList}" var="zhibiao"><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td width="20%" bgcolor="#FFFFFF" align="right">${zhibiao.mingcheng}:</td><td width="80%" bgcolor="#FFFFFF" align="left"><select name="${zhibiao.id}"><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="8">8</option><option value="10">10</option><option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option><option value="20" selected="selected">20</option></select></td></tr></c:forEach><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td width="20%" bgcolor="#FFFFFF" align="right">&nbsp;</td><td width="80%" bgcolor="#FFFFFF" align="left"><input type="hidden" name="zhibiao_id" id="zhibiao_id" value=""/><input type="button" value="提交" onclick="check()"/>&nbsp; <input type="reset" value="重置"/>&nbsp;</td></tr></table></form></body>
</html>

teaAll.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false" %>
<%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="pragma" content="no-cache" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /><meta http-equiv="keywords" content="keyword1,keyword2,keyword3" /><meta http-equiv="description" content="This is my page" /><link rel="stylesheet" type="text/css" href="<%=path %>/css/base.css" /><script language="javascript">function StringBuffer(){ this._strs = new Array; } StringBuffer.prototype.append = function (str) { this._strs.push(str); //添加} StringBuffer.prototype.pop = function (str) { this._strs.pop(str); //删除最后一个} StringBuffer.prototype.toString = function(){ return this._strs.join(","); }function queding(){var sb = new StringBuffer(); var object=document.getElementsByName("tea_id");//返回的obeject是数组for(i=0;i<object.length;i++){if(object[i].checked==true){sb.append(object[i].value); }}//alert("值"+sb.toString());                         window.opener.window.returnVaule=sb.toString();  parent.window.close(); } </script></head><body leftmargin="2" topmargin="2" background='<%=path %>/images/allbg.gif'><table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D1DDAA" align="center" style="margin-top:8px"><tr bgcolor="#E7E7E7"><td height="14" colspan="100" background="<%=path %>/images/tbg.gif">&nbsp;教师选择&nbsp;</td></tr><tr align="center" bgcolor="#FAFAF1" height="22"><td width="20%">教师号</td><td width="20%">姓名</td><td width="20%">性别</td><td width="20%">年龄</td><td width="7%">操作</td></tr>    <c:forEach items="${requestScope.teaList}" var="tea"><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td bgcolor="#FFFFFF" align="center">${tea.bianhao}</td><td bgcolor="#FFFFFF" align="center">${tea.name}</td><td bgcolor="#FFFFFF" align="center">${tea.sex}</td><td bgcolor="#FFFFFF" align="center">${tea.age}</td><td bgcolor="#FFFFFF" align="center"><input type="radio" name="tea_id" value="${tea.id}"/></td></tr></c:forEach></table><table width='98%'  border='0'style="margin-top:8px;margin-left: 5px;"><tr><td><input type="button" value="确定" style="width: 80px;" onclick="queding()" /></td></tr></table></body>
</html>

实现效果:

window.open返回值实例详解(子窗口向父窗口回显)相关推荐

  1. (转)C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    原文链接:https://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T ...

  2. php function 返回值_PHP函数引用返回的实例详解

    引用返回 手册里是这么写的:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时.不要用返回引用来增加性能,引擎足够聪明来自己进行优化.仅在有合理的技术原因时才返回引用!要返回引用 当你想将函数 ...

  3. python input与返回值-Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...

  4. python3主函数返回值_Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...

  5. Python return函数返回值(详解)

    文章目录 Python return函数返回值 Python return函数返回值 到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束.但实际上,在某些场景中,我们还需函数将处理 ...

  6. JAVAWEB开发之SpringMVC详解(二)——高级开发、数据回显、参数绑定集合、图片上传、json交互、validation校验、异常处理、RESTful支持、拦截器

    知识回顾 springmvc框架 用户请求url到DispatcherServlet前端控制器,相当于中央调度器,降低系统各组件之间的耦合度. DispatcherServlet前端控制器通过Hand ...

  7. jq多选按钮值_jQuery实现获取选中复选框的值实例详解

    应用场景: 我们应该经常见到系统中出现列表,会有一个对列表数据的操作(如删除, 修改,查看等).我们可以在每个列表项后面加一个删除按钮,把列表项的相关参数(如 id)post到后台进行删除.当然如果你 ...

  8. 微信小程序中form 表单提交和取值实例详解

    2019独角兽企业重金招聘Python工程师标准>>> 我们知道,如果我们直接给 input 添加 bindinput,比如:<input bindinput="on ...

  9. Oracle存储过程返回游标实例详解

    复制代码 代码如下: CREATE OR REPLACE PROCEDURE PROCSENDEMAIL(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHA ...

最新文章

  1. 操作无法完成后台打印程序无法运行
  2. 该怎样才能将PDF转换成HTML
  3. 当我们做MVP产品时,我们到底在做什么?
  4. 高 NPS 背后的专业服务体系是如何炼成的?
  5. Java面试技巧之MySQL问题梳理
  6. createprocess 系统找不到指定的文件_windows找不到gpedit.msc请确定文件名
  7. java中的daemon thread
  8. 简单的Java SSH客户端
  9. (转)Oracle中实现行列转换的方法
  10. 探测器反向偏压_近红外和可见光双模有机光电探测器
  11. 命令进入mysql创建jira_JIRA使用教程:连接数据库—MySQL_MySQL
  12. C语言中的编译,链接,运行简单复习
  13. 怎样通过vb设置透视表多项选择_四个操作带你玩转数据透视表,秒杀Excel函数,提升你的工作效率...
  14. android如何让gps服务停止,android – 启动/停止GPS(或位置服务)时接收通知(通过BroadcastReceiver)...
  15. Hive常见的存储格式的区别与应用场景
  16. 单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)
  17. 游戏筑基开发之指针的练习掌握
  18. python配置文件注释_python操作配置文件yaml
  19. robocopy解决文件夹路径层级太深,windows右键功能无法删除和拷贝的问题
  20. 棋牌游戏-c#实现批量修改文件后缀

热门文章

  1. nfc读卡java开发,分享一段飞天R502读卡器的JAVA读卡代码
  2. FMOC-PEG-acid,FMOC-PEG-COOH,芴甲氧羰基PEG羧基用于探究新型材料
  3. 生成对抗网络GANs
  4. java毕业设计成品源码网站ssm水果商城系统电商购物项目
  5. 西门子精智和精简面板区别_西门子触摸屏操作面板区别
  6. 如何在iPhone和OS X上更改表情符号肤色
  7. Electropure EDI 中国区2019年年度总结会议
  8. 设置textarea不可拖动
  9. 3a企业认证的条件和优势
  10. DDOS攻击 — 棋牌游戏创业公司的生死劫