单击按钮打开窗口作为模式对话框使用javascript

时间:2012-07-20 07:14:27

标签: javascript asp.net html

我必须使用javascript打开窗口,单击按钮作为模式对话框。              我使用了window.open,但它显示了两个实例父页面以及弹出页面。              当弹出页面打开时,不允许单击父页面。

function openWindow()
            {
                var colno, pid;
                var w = 950;
                var h = 350;
                var t = 0;
                var l = 0;
                var scrollbars = 1;
                var modal = 'yes';

                var reportWindow = "";
                reportWindow = window.open("Search.aspx" + '', '', "width=" + w + ",height=" + h + ",left=" + l + ",top=" + t + ',scrollbars=' + scrollbars + 'modal' + modal);
                reportWindow.focus();
                return false;
            }

2 个答案:

答案 0 :(得分:6)

您的代码行,

reportWindow = window.open("Search.aspx" + '', '', "width=" + w + ",height=" + h + ",left=" + l + ",top=" + t + ',scrollbars=' + scrollbars + 'modal' + modal);

在模态后缺少'='符号。它应该是,

reportWindow = window.open("Search.aspx" + '', '', "width=" + w + ",height=" + h + ",left=" + l + ",top=" + t + ',scrollbars=' + scrollbars + 'modal=' + modal);

以对话框打开窗口,

 <html>
    <body>
    <script language="JavaScript">
    function openWindow() {
       if (window.showModalDialog) {
window.showModalDialog("http://domain.com","name",
"dialogWidth:255px;dialogHeight:250px");
} else {
window.open('http://domain.com','name',
'height=255,width=250,toolbar=no,directories=no,status=no, linemenubar=no,scrollbars=no,resizable=no ,modal=yes');
}
    } 
    </script>
    <button onclick="openWindow();">Open window</button>
    </body>
    </html>

如果上面的代码不起作用,请使用jQuery模式对话框。您可以使用iframe将任何网址加载到对话框。

答案 1 :(得分:2)

“window.open”不起作用。此命令始终只是打开一个弹出窗口,它不是“总是”在其父级之上。

2个选项:

  1. 如果您只是想让用户输入搜索字符串,您可以使用

    prompt("Please enter a search string:", "");
    
  2. 如果您有一个复杂的搜索表单,则必须为自己创建一个模态对话框。 有一些框架提供此功能(google为“jQuery”)或您自己创建它。不应该很难,告诉我你是否需要帮助!