用javascript打开模态页面并得到返回值

来源:互联网 发布:俄罗斯新纳粹 知乎 编辑:程序博客网 时间:2024/06/05 02:28
 

在当前页面打开模态页面: 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对象的内容

原创粉丝点击