d:\a.htm:
<input name=a1 readOnly><input type=button value=Test onclick="testFun()">
<script>
function testFun()
{
window.open("http://www.aaa.com/a.jsp","newWin");
}
</script>d:\b.htm
<script>
window.openner.document.all.a1.value=location.search;
//window.close();
</script>
http://www.aaa.com/a.jsp
<%
String tempStr="dataFromDB";
%>
<script>
location.href="d:\b.htm?<%=tempStr%>";
</script>

解决方案 »

  1.   

    你的子窗口是用什么方式弹出的?window.open还是模式对话框?
    如果是window.open,那么你在子窗口中取到要传递的数据然后历史opener(父窗口对象)就可以把值赋给父窗口了,例如把子窗口的某个值testV赋给父窗口的一个文本框Text1,那么这样写:
        opener.document.forms[0].Text1.value = testV;
    如果是模式对话框就是另一种方式了。
      

  2.   

    to JK_10000(JK) :
     一楼的方法没报错,但是因为a.jsp是在远程的,似乎找不到b.htm
    to liyj_redapple:
     我是用window.open弹出的,如果在同一个应用里面是没有问题,但现在
    子窗口是在远程,这么做有权限问题,我用alert(window.opener)可以看到
    是一个object,但是window.opener的其他属性都无法取到。
      

  3.   

    "似乎找不到b.htm"-----
    一楼的代码有三个文件,
    分别是:
    d:\a.htm
    d:\b.htm
    http://www.aaa.com/a.jsp
    怎么会找不到b文件?
      

  4.   

    我在b.htm中加了alert语句,实际运行的时候并没有显示出来。
    再者,a.jsp应该跳转到"d:\b.htm?<%=tempStr%>";,但是地址栏
    中并没有什么变化。