javascript中接收window.open()的返回值

来源:互联网 发布:城满财富 理财知 编辑:程序博客网 时间:2024/06/05 13:33

这里记录一下如何在javascript中接收window.open()的返回值:

其实这里说返回值是有点不规范的,因为返回的是对新的window对象的引用,但是为了方便理解,就先这么叫吧!

实例如下:

Test1.jsp代码如下

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>parent window</title><script type="text/javascript">function opneNewWindow() { window.open ("test2.jsp", "", "height=400, width=400"); } </script></head><body><input type="text" name="showText" id="showText" readonly="readonly" /><input type="button" value="submit" name="submit" onclick="javascript:opneNewWindow();" /></body></html>

open()方法这里就不多做解释了。

Test2.jsp代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>child window</title><script type="text/javascript">function back() { if(window.opener) { //window.opener 找到打开该窗体的父窗体parentWindowElement = window.opener.document.getElementById("showText"); parentWindowElement.value = "I am return value"; window.close(); }}</script></head><body><input type="button" name="back" value="back" onclick="javascript:back();" /></body></html>


还有一种方式也是打开一个新窗口进行操作的,window.showModalDialog();

这里简单描述一下这种方式是如何接受返回值的,在子页面上写上这行代码: 

window.returnValue = "I am return value";

返回的可以是一个字符串,也可以是一个数组。然后在父页面接受就可以了,父页面接受值的代码: 

var returnValue = window.showModalDialog();








0 0