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

open window on click of button as modal dialog using javascript

本文关键字:javascript 模式 对话框 按钮 开窗口 单击      更新时间:2023-12-30

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

function openWindow() {
  var w = 950;
  var h = 350;
  var t = 0;
  var l = 0;
  var scrollbars = 1;
  var modal = 'yes';
  var reportWindow = window.open("Search.aspx" + '', '', "width=" + w + ",height=" + h + ",left=" + l + ",top=" + t + ',scrollbars=' + scrollbars + 'modal' + modal);
  reportWindow.focus();
}

您的代码行,

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://example.com","name",
"dialogWidth:255px;dialogHeight:250px");
} else {
window.open('http://example.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将任何url加载到对话框中。

"window.open"将不起作用。这个命令总是只打开一个弹出窗口,而不是"总是"在其父窗口的顶部。

2个选项:

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

    prompt("Please enter a search string:", "");
    
  2. 如果你有一个复杂的搜索表单,你必须为自己创建一个模态对话框。有一些框架提供了这种功能(谷歌上的"jQuery"),或者你自己创建它。应该不难,如果你需要帮助,告诉我!