`

用window.open()打开子窗口传参问题

阅读更多
       直接给出代码。
        1.父窗口的jsp代码(parent.jsp)):
   <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>父窗口</title>
<script type="text/javascript">
var i = 1;
function look(Height,Width){
var ScreenWidth = (screen.availWidth - Width) / 2;
    var ScreenHeight = (screen.availHeight - Height )/ 2;
var nw = window.open('show.jsp?flag='+i,"nw",'height='+ScreenHeight+',width='+ScreenWidth+',top='+ScreenHeight+',left='+ScreenWidth+',toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no, status=no');
nw.document.title = "子窗口";
i++;
}

</script>
</head>
<body>
<input type="button" id="bnt" value="查看" onclick="look(350,250);"/>
<div id="myDiv">你选的物品有:</div>
<span id="Msg" style="display:none;color:green;"></span>
</body>
</html>
      2.子窗口的jsp代码(show.jsp):
    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>子窗口</title>
<script type="text/javascript">

function look(value){
window.opener.document.getElementById("bnt").value="重新查看";
window.opener.document.getElementById("Msg").style.display="block";
window.opener.document.getElementById("Msg").innerHTML=value;
window.close();
}

</script>
</head>
<body>
<p>父窗口穿过来的参数
<%= request.getParameter("flag") %>
</p><br>
<select id="sel" onchange="look(this.value);">
<option value="0">请选择商品</option>
<option value="笔记本">笔记本</option>
<option value="手机">手机</option>
<option value="数码相机">数码相机</option>
</select>
</body>
</html>

上面的代码中当用nw.document.title = "子窗口",设置子窗口的title时,不知道为什么总是设置不成功,子窗口的title总是显示"web browser",并且大家都看到了我在上面的子窗口的<title>标签中已经设置了title,但子窗口里页面没有显示出来。如果谁能够告诉我问题的所在,将感谢不尽!
1
0
分享到:
评论

相关推荐

    window.open()实现post传递参数

    通常,`window.open()` 的使用方式是 `window.open(url, target, features)`,其中 `url` 是要打开的页面的地址,`target` 指定打开的位置(如 `_blank` 表示新窗口),`features` 是窗口特征的字符串,如宽度、高度...

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

    例如,一个网页中的超链接可以使用`window.open()`方法打开一个新的窗口,新窗口就是子窗口,而原来的窗口则是父窗口。 ### 父窗口向子窗口传值 1. **通过`window.open()`方法传参**:在创建子窗口时,可以通过URL...

    javascript父子页面传参

    - **`window.opener`属性**:子页面可以访问`window.opener`,它是打开当前页面的窗口对象。可以通过`window.opener.postMessage()`发送消息,父页面需要监听`message`事件接收这些消息。 - **`postMessage()` API...

    pyqt父子窗口相互传值

    在PyQt框架中,开发GUI应用时,我们经常需要在不同的窗口之间传递数据,比如从父窗口向子窗口传递信息,或者从子窗口回传到父窗口。这通常通过信号和槽机制来实现,它是PyQt的核心特性之一,用于对象间通信。下面将...

    详解layui弹窗父子窗口之间传参数的方法

    在上面的代码中,我们使用 layer.open() 方法打开一个新的弹窗,并在 success 属性中传递参数给子窗口。我们使用 getChildFrame() 方法获取子窗口的 body 元素,然后使用 iframeWin 变量来访问子窗口的窗口对象。...

    Layui实现父子页面之间值传递.zip

    这个事件会在子窗口接收到其他窗口的消息时触发。例如: ```html &lt;!DOCTYPE html&gt; 子页面 &lt;script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/layui.js"&gt; window.addEventListener('message',...

    在Js页面通过POST传递参数跳转到新页面详解

    遇到的问题 因为一开始是 GET 请求,所以当传递的数据过大的时候,会报错 nginx 414 request-uri too long 客户端请求头缓冲区大小,如果请求头总长度大于小于128k,则使用此缓冲区 client_header_buffer_size ...

    HTML页面跳转及参数传递问题

    4. **window.opener**属性可以用来访问打开当前页面的窗口,从而实现父页面与子页面之间的通信: ```javascript // 父页面 window.open("childPage.html"); // 子页面 window.opener.document.getElementById...

    父子页面数据相互传递

    父页面可以通过`window.open`创建子页面,并监听`message`事件接收子页面发送的数据;子页面则可以调用`window.parent.postMessage`向父页面发送数据。 4. 使用框架(如`iframe`):如果子页面是嵌入在父页面中的,...

    ajax\HTML 页面与页面之间传值

    5. **使用POSTMessage进行跨窗口通信**:当涉及到不同源(跨域)的页面间通信时,可以使用Window.postMessage方法。这种方法允许两个或多个窗口之间安全地传递消息,即使它们的源不同。例如: ```javascript // 父...

    react-iframe-bind:在 iframe 之间共享组件

    通过将父 iframe 上的组件class暴露在父级的window对象上并使用子级的React实例对其进行实例化,从而与同一域中的子class共享父 iframe 上的组件class 。 它将使用来自父存储的数据呈现,而在子上处理 DOM。 重新...

    MFC的程序框架剖析

    什么是句柄?...也就是说MFC都是让我们采用默认的窗口过程函数,这并不是说我们因此就不能使用自己的窗口过程函数实现个性化的消息处理了,MFC采用了一种基于消息映射的机制完成了消息个性化处理。...

Global site tag (gtag.js) - Google Analytics