在当前页面打开模态页面: windows.showModalDialog(url[,argument][,features])
参数说明:
url
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
argument
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
features
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
例:
父页面中的javascript的代码:
<script type="text/javascript">
function ShowModal()
{
//得到页面上一个名为"Text1"的textbox对象的引用
var txt=document.getElementById("Text1");
//弹出模态窗口,并将其返回值显示在Text1中
txt.value=window.showModalDialog('Add.aspx','','dialogHeight=250px;resizable=false');
}
</script>
模态页面Add.aspx里的javascript的代码:
<script type="text/javascript">
function Add()
{
//得到模态页面上一个名为"TextMessage"的textbox对象的引用
var text=document.getElementById("TextMessage");
//将textbox中的值作为返回值返回给上层页面
window.returnValue=text.value;
//将模态页面关闭
window.close();
}
//判断用户是否直接关闭了模态窗口。如果是,则将返回值设置为“”
window.onunload=function()
{
if(window.returnValue==undefined)
{
window.returnValue="";
}
}
</script>
showModalDialog方法的第二个参数argument可以为window对象,这样在模态窗口中就能够对父窗口的对象进行操作,如,
父页面中传入window对象:
window.showModalDialog('Add.aspx',window,'dialogHeight=250px;resizable=false;title=ModalWindow');
模态页面得到父页面中的window对象:
window.dialogArguments.document.getElementById("Text1").value //得到父页面的Text1对象的内容