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

一个比较常用的方法?????
在父窗口用window.open打开了一个子窗口,
然后在子窗口选择一些复选框点击确认关闭子窗口
然后在父窗口里显示所选的内容
怎样解决?????
急!!急!!急!!急!!


新手比较穷

------解决方案--------------------
假设你的父窗口是parent.aspx页面,用javascript可以实现的啊。你在子窗口中可以利用window.open("parent.aspx?args1=…&args2=…")那么在打开父窗口的时候,地址栏上就有那些问号后面的参数。那么就可以达到你的要求的啊
------解决方案--------------------
one simple example

父窗口parentwindow.aspx
<input type="text" id="textbox1" />
<input type="button" onclick="window.open('subwindow.aspx')" />

子窗口subwindow.aspx
<input type="button" onclick="sendmessage()" />
<script type="text/javascript">
function sendmessage()
{
window.opener.document.getElementById("textbox1").value = "the message from the sub window";
//类似方法可以控制父窗口的document
}
</script>


------解决方案--------------------
可以用那个showModelessDialog()
使用方法如下:
 vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])
参数说明:
 sURL
 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
 vArguments
 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
 sFeatures
 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。

可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

 test1.htm
 ===================
 <script>
var a = window.showModalDialog("test2.htm")
for(i=0;i<a.length;i++) alert(a[i])
 </script>

 test2.htm
 ===================
 <script>
 function sendTo()
 {
var a=new Array("a","b")
window.returnValue = a
window.close()
 }
 </script>
 <body>
 <form>
<input value="返回" type=button onclick="sendTo()">
 </form>



------解决方案--------------------
弹出式的字窗口向父窗口传值。
aa是父窗口通过,有一个texbox1的文本框用来接收传过来得值。Response.Write("<script> window.open('Temp.aspx','_blank','width=800,height = 500,left=300 top=300,');</script>");
打开字窗口bb。bb中有一个文本框textbox2,通过
Response.Write("<script>window.close(window.opener.document.getElementById('TextBox2').value='" + TextBox1.Text + "');</script>");可以向父窗口中的textbox1传值。

------解决方案--------------------
弹出式的字窗口向父窗口传值。
aa是父窗口通过,有一个texbox1的文本框用来接收传过来得值。Response.Write("<script> window.open('Temp.aspx','_blank','width=800,height = 500,left=300 top=300,');</script>");打开字窗口bb。bb中有一个文本框textbox2,通过
Response.Write("<script>window.close(window.opener.document.getElementById('TextBox2').value='" + TextBox1.Text + "');</script>");可以向父窗口中的textbox1传值。
window.opener 的用法 
window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为: window.opener.document.getElementById("name").value = "输入的数据"; 
对于javascript中的window.opener没有很好的理解。 
 为什么框架中不能使用,弹出窗口的父窗口不能在框架里面的某个页面呢?那怎样通过弹出窗口操作框架中的父窗口呢? opener.parent.frames['frameName'].document.all.input1.value 试试这个:)