下面是showModalDialog/showModelessDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.关闭刷新父窗口,希望对象大家有所帮助.
(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.
farther.html
---------------------------
New Document
传递到父窗口的值:
返回的值:
子窗口设置的值:
---------------------------------------------------------------
child.html
--------
New Document
父窗口传递来的值:
输入要设置父窗口的值:
输入返回的值:
----------------------------
说明:
由于showModalDialog缓存严重,下面是在子窗口取消客户端缓存的设置.也可以在服务器端取消缓存,参考:
http://adandelion.cnblogs.com/articles/252137.html
------------------------------------------------------------------------------------------------------------------------
(二)下面是关闭刷新父窗口的例子
farther.html
---------------------------
New Document
传递到父窗口的值:
----------------------------------------------------
child.html
--------
New Document
父窗口传递来的值:
--------------------------
说明
1.下面是取消客户端缓存的:
也可以在服务器端取消缓存,参考:
http://adandelion.cnblogs.com/articles/252137.html
2.向父窗口传递阐述在ASP.NET中也可以是用aaa.aspx?id=1的方式传递.
3.不刷新父窗口的话在父窗口中直接这样一来设置可以.
window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px");
4.在子窗口中若要提交页面的话要加入:,这样就不会打开新窗口了.
本文参考了:http://dev.csdn.net/develop/article/15/15113.shtm ,里面有showModalDialog/showModelessDialog的详细使用说明
http://www.cnblogs.com/adandelion/archive/2005/10/26/262666.html
input
function echo() {
x = showModalDialog("testnew.html",new Array(txt.value, txt1.value));
txt.value = x[0];//.txt1;
txt1.value = x[1];//.txt2;
}
testnew.html
do somthing
dlgtxt.value = window.dialogArguments[0];
dlgtxt1.value = window.dialogArguments[1];
function doSomething(){
var m_data = new Object;
m_data.txt1 = dlgtxt.value;
m_data.txt2 = dlgtxt1.value;
window.returnValue = [dlgtxt.value, dlgtxt1.value];
close();
}