日期:2014-05-18  浏览次数:20453 次

在线等:子窗口传回值给父窗口,并在父窗口显示。。。。。。。。
问题描述:
a.aspx页面中使用Response.Write( " <script   language= 'javascript '> window.open( 'b.aspx ',   'b ',   'height=450,   width=550,   top=120,   left=262,   toolbar=no,   menubar=no,   scrollbars=no,   resizable=no,location=no,   status=no ') </script> ");创建个子页面。在子页面中通过一个DropDownList接受用户的选择,并想将用户选择的数据用一个变量传回a.aspx页面,并关闭b.aspx页面。传回a.aspx页面的值还要马上在a.aspx页面中的TextBox控件中显示出来。
我起初想用Session[ "B "]=“”传回a.aspx页面,之后刷新a.aspx页面,并关闭b.aspx页面,但是我在a.aspx页面中有对数据库的动态邦定,还有其他空间已经接受了用户的输入,这么一来原来的的a.aspx页面就重新down了一遍,全没了。
我初学这个,都不知道用什么做了,查了几个贴子,发现没有对口的。是不是用Ajax阿。我头都大了。请各位前辈帮小弟解决。送最后的80分。

------解决方案--------------------
完全JS实现就可以了,给你看看htm页面代码。

a.htm页面:
<input id= "text1 " type= "text " />
<input type= "button " value= "open " onclick= "window.open( 'b.htm ', 'b ', 'height=450, width=550, top=120, left=262, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no ') "/>

b.htm页面
<script>
function getText(){
v = document.getElementById( "textMe ").value;
objP = window.opener.document.getElementById( "text1 ");
objP.value = v;
window.opener = null;
window.close();
}
</script>
输入值 <input id= "textMe " type= "text " />
<input type= "button " value= "把这里输入的值赋值给父窗口中的textbox " onclick= "getText(); "/>

------解决方案--------------------
BearRui(AK-47) ( ) 信誉:110 2007-08-17 10:18:44 得分: 0


完全JS实现就可以了,给你看看htm页面代码。

a.htm页面:
<input id= "text1 " type= "text " />
<input type= "button " value= "open " onclick= "window.open( 'b.htm ', 'b ', 'height=450, width=550, top=120, left=262, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no ') "/>

b.htm页面
<script>
function getText(){
v = document.getElementById( "textMe ").value;
objP = window.opener.document.getElementById( "text1 ");
objP.value = v;
window.opener = null;
window.close();
}
</script>
输入值 <input id= "textMe " type= "text " />
<input type= "button " value= "把这里输入的值赋值给父窗口中的textbox " onclick= "getText(); "/>



---------
同意
------解决方案--------------------
.aspx里面写:var returnValue = window.showModalDialog(URL,self, "edge:raised;scroll:0;status:0;help:0;resizable:1;dialogWidth:320px;dialogHeight:300px; ");
b.aspx:


string mfstr = " <script> \n ";
mfstr += "window.returnValue= ' " + returnvalue.Replace( " ' ", "\ ' ") + " '\n ";
mfstr += "window.close()\n ";
mfstr += " </script> \n ";
这样就OK了

------解决方案--------------------
a.aspx
<script>
var txt = document.getElementById( "xxx ");
</script>

b.aspx
提交后
parent.txt = "aaa ";
------解决方案--------------------
弹出层内返回数据
http://www.aspxboy.com/private/showthread.asp?threadid=673