相当于showModalDialog

时间:2014-09-15 13:12:21

标签: javascript showmodaldialog

我有一个web应用程序,它调用了showModalDialog,但是由于某些原因,chrome不支持这个,我确实搜索了一个解决方法,但没有任何成功。

showModalDialog显示带有搜索字段的aspx页面,当用户在任何deptname链接上选择名称应显示在paren窗口文本框中时,将显示包含所有depts的网格。

function DisplayDept() 
{
    var Object = window.showModalDialog('../DeptList.aspx', null, 'location=0,center:yes,status=0,scrollbars=1,width=500,height=500');
    if (Object != null)
    {
        document.getElementById("<%=hdnDept.ClientID%>").value = Object.id;
        if(document.getElementById("<%=txtDname.ClientID%>").value!=Object.name)
        {
            document.getElementById("<%=txtDname.ClientID%>").value=Object.name;
            __doPostBack(document.getElementById("<%=txtDname.ClientID%>").name,''); 
        }
     }
}

 function LinkSelected(intCD, strName)
    {
         var obj=new Object();
         obj.id=intCD;
        obj.name=strName;
        window.returnValue = obj;
        window.close();
    }

尝试使用window.open方法但无法将所选字段从打开窗口分配到父窗口控件,想知道什么是理想的解决方案,因为我使用asp.net web。应用。任何建议/帮助都会得到帮助。

1 个答案:

答案 0 :(得分:0)

现在我已经解决了使用如下的windows.open。

function DisplayDept() 
{
    var Object = window.open('../DeptList.aspx', null, 'location=0,center:yes,status=0,scrollbars=1,width=500,height=500');
 }

接着是

function SetDept(Object) {
       if (Object != null)
      {
            document.getElementById("<%=txtDname.ClientID%>").value=Object.name;
            __doPostBack(document.getElementById("<%=txtDname.ClientID%>").name,''); 
        }

    }

在儿童窗口

function SelectIt(intTypeCD, strTypeName)
    {
        var obj=new Object();
         obj.id=intCD;
        obj.name=strName;
         window.opener.SetDept(obj);
        window.close();
    }