日期:2014-05-16  浏览次数:20298 次

如何只显示一个showModelessDialog页面
我现在做了一个加载时候就可以弹出showModelessDialog的父窗体页面,但是在此父窗体页面上又有一个button点击后还是要弹出这个showModelessDialog页面,这样就弹出了两个 我怎么控制每一次点击只弹出一个呢?我想的是父窗体获取showModelessDialog页面的关闭事件 然后在点击button弹出新的窗口以前 先关闭原来的 但是不知道可以不可以 也不知怎么实现 求帮助 在线等ing。。。 

------解决方案--------------------
触发子窗体的控件点击造成跳转,这是一个方法

还有一个方法,如果子窗口是打开状态的话,先关闭它

<HTML>
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";
var m = null;
function fnCallDialog(){
if(m && !m.closed)
m.close();
if(!m 
------解决方案--------------------
 m.closed)
{
m = showModelessDialog("myDialog.html",window,"status:false;dialogWidth:300px;dialogHeight:300px");
}
}
function fnUpdate(){
    document.getElementById("oName").innerText = sUserName;
}
</SCRIPT>

</HEAD><BODY>

<P>Enter<SPAN STYLE="color:red;font-size:24" id="oName">JoyoShuai</SPAN></P>

<INPUT TYPE="button"

VALUE="Display Modeless Dialog" onclick="fnCallDialog()">
<INPUT TYPE="button"

VALUE="redirect Dialog" onclick="m.document.getElementById('linkA').click()">
<INPUT TYPE="button"

VALUE="Display Modeless Dialog Again" onclick="fnCallDialog()">

</BODY>
</HTML>


<HTML>
<HEAD>
<TITLE>myDialog.htm</TITLE>
<base target="_self"></base>
<SCRIPT>
function fnGetInfo() {
var sData = dialogArguments;
sData.sUserName = document.getElementById("oEnterName").value;
sData.fnUpdate();
}
function fnCancel() {
var sData = dialogArguments;
sData.sUserName = "Joan";
sData.fnUpdate();
}
</SCRIPT>
</HEAD>
<BODY>
Enter your <SPAN STYLE="text-decoration:underline">F</SPAN>irst Name</LABEL>
<INPUT id="oEnterName"><INPUT VALUE="Apply" TYPE=button onclick="fnGetInfo();" >
<INPUT VALUE="Ok" TYPE=button onclick="fnGetInfo();window.close();" >
<INPUT VALUE="Cancel" TYPE=button onclick="window.close();">
<a id="linkA" href="http://www.baidu.com" style="display:none">baidu</a>
</BODY>
</HTML>