转载小记:
Ajax现在都用烂了,其实有时候对界面和兼容性要求不是太高的时候,一些很简单的方法就可以解决大堆Ajax代码才能解决的问题,比如模态窗口。
在网上找到了别人对模态窗口的一些总结,特此收藏。
1.打开窗口:
var handle = window.showModalDialog(url, objects, feathers);
其中:objects可以为参数(包括数组),也可以是对象。
通常的用法 objects = {window} ,把父窗体的对象共享给子窗体。
示例:
//打开模式对话框
function doSelectUser(txtId)
{
strFeatures=”dialogWidth=500px;dialogHeight=360px;center=yes;middle=yes ;help=no;status=no;scroll=no”;
var url,strReturn;
url=”selUser.aspx”;
strReturn=window.showModalDialog(url,”,strFeatures);
}
2.关闭子窗口:
window.close();
3.从子窗体传参数给父窗体:
window.returnVal = string;
3.清除缓存,防止模式窗口页面不更新的情况:
<META HTTP-EQUIV=”pragma” CONTENT=”no-cache”>
<META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache, must-revalidate”>
4.防止打开新窗口(如提交表单):
<base target=”_self”>
5.在模式窗口使用F5刷新页面:
<base target=”_self”>
<body onkeydown=”if (event.keyCode==116){reload.click()}”>
<a id=”reload” href=”<%=Request.Url%>” style=”display:none”></a>
模式窗口打开新窗口时,仅可以使用 showModalDialog(url,window,feathers); 方法,且 objects 为 window 。
7.在弹出窗口中获得或设置主窗口的任何值:
打开弹出窗口时用:showModalDialog(url, window, feathers)
在弹出窗口中使用 window.dialogArguments 对象(即主窗口传递过来的 window 对象集),即可以获得或者设置主窗口的值。
>> 本文固定链接: http://www.vcgood.com/archives/1693
感谢楼主啊