非模式窗口通过主调窗口传递过来window对象直接操纵主调窗口的元素
如主调窗口的调用代码如下: showModelessDialog ("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px;edge:Raised; enter: Yes; help: No; resizable: No; status: No"); 
非模式窗口JScript代码如下,即可接收主调窗口的窗口对象 var sData = window.dialogArguments; 
(把主窗口的window当作参数传递给非模式窗口,非模式窗口使用dialogArguments调用传递过来
的参数)
现在sData就是你的主调窗口类似你的opener

解决方案 »

  1.   

    我用showModalDialog打的页面上有一个,服务端控件,为什么我点击这人上按钮的时候打开一个新窗口
      

  2.   

    关于这个问题“我用showModalDialog打的页面上有一个,服务端控件,为什么我点击这人上按钮的时候打开一个新窗口”showModalDialog页面中的<HEAD>中加入<base target="_self">
      

  3.   

    showModalDialog直接调用window.close()就行了吧?
      

  4.   

    我刚写了一段代码,可以帮你了解一下showModalDialog
    <html>
    <head>
    <script language="JavaScript">
    <!--function _open(){
    var R = showModalDialog(document.location,"","dialogWidth:200px;dialogHeight:20px;center:yes;help:no;scroll=no;resizable:no;status:no");
    alert(R);
    document.location.reload();
    }function _close(){
    window.returnValue = R.value;
    window.close();
    }
    //-->
    </script>
    </head><body onerror="return false">
    </body>
    <script language="JavaScript">
    <!--
    try {
    dialogArguments;
    document.body.innerHTML = '<input type="text" id="R" value="返回值"><input type="button" value="关闭" onclick="_close();">';
    } catch (e) {
    document.body.innerHTML = '<a href=javascript:_open();>打开</a></p>Time:&nbsp;' + new Date();
    }
    //-->
    </script>
    </html>
      

  5.   

    response.Write("<script language=""javascript"">")
    response.Write("alert('添加成功!');")
    response.Write("window.dialogArguments.location.reload();")
    response.Write("window.close();")
    response.Write("</script>")请看,CLOSE之前的那句~~~