Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript以模式对话框的形式单击按钮打开窗口_Javascript_Asp.net_Html - Fatal编程技术网

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

使用javascript以模式对话框的形式单击按钮打开窗口,javascript,asp.net,html,Javascript,Asp.net,Html,我必须在单击按钮时打开一个窗口,作为使用JavaScript的模式对话框。 我使用了窗口。打开,但它显示了两个实例:父页面和弹出页面。 当弹出页面打开时,则不允许用户单击父页面 function openWindow() { var w = 950; var h = 350; var t = 0; var l = 0; var scrollbars = 1; var modal = 'yes'; var reportWindow = window.open("Sea

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

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>

函数openWindow(){
if(window.showModalDialog){
window.showModalDialog(“http://example.com“,”姓名“,
“对话宽度:255px;对话高度:250px”);
}否则{
打开窗户http://example.com","姓名",,
'高度=255,宽度=250,工具栏=否,目录=否,状态=否,linemenubar=否,滚动条=否,可调整大小=否,模式=是';
}
} 
开窗
如果上述代码不起作用,请使用jQuery模态对话框。您可以使用iframe将任何URL加载到对话框。

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

2种选择:

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

    prompt("Please enter a search string:", "");
    
  • 如果您有一个complexe搜索表单,您必须为自己创建一个模式对话框。 有一些框架提供此功能(google表示“jQuery”),或者您自己创建它。应该不难,如果你需要帮助,告诉我


  • 把问题再读一遍<代码>但它显示了两个实例父页面和弹出页面。当弹出页面打开时,则不允许单击父页面。
    user970349::请参见问题标题我已经在JAVASCRIPTuser窗口中询问模态对话框。showmodaldialog也不能作为模态对话框工作,我选中了它。window.showmodaldialog不能在所有浏览器中工作。请检查更新的answer@john请检查您的代码“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+“model”+model);模态缺少一个“=”符号。请看这可能对您有所帮助。请至少阅读我的问题一次,我必须打开模态弹出窗口,正如我在单击按钮时所做的那样,正如我告诉您的,不可能使用window.OPEN安全地执行此操作,并使其在所有浏览器中工作。您必须使用jQuery或我们自己编写的东西在javascript中生成模式windown。