我现在做了一个加载时候就可以弹出showModelessDialog的父窗体页面,但是在此父窗体页面上又有一个button点击后还是要弹出这个showModelessDialog页面,这样就弹出了两个 我怎么控制每一次点击只弹出一个呢?我想的是父窗体获取showModelessDialog页面的关闭事件 然后在点击button弹出新的窗口以前 先关闭原来的 但是不知道可以不可以 也不知怎么实现 求帮助 在线等ing
解决方案 »
- 用js模拟键盘按下空格
- js调用wav文件,求教
- 问个简单问题啊~~javascript里面如何把var值转成时间类型比较
- 请问一下以下代码片段能否看出问题之所在
- 怎么把servlet传过来的List数据显示到gridpanel中?
- 鼠标滑过切换栏目-在IE和FIREFOX下兼容问题,小弟分不多了,见谅啊! 先谢谢啦!
- js无法向父窗口传值,Untitle.html与a。html可以获取,Untitle。html与ShowPart_interface.jsp无法获取,而a.html的代码就是....
- 求段JQUERY加载背景图片的源代码
- JavaScript如何用逗号分隔的方式读文件(即文件中内容是以逗号分隔的)??
- 求救!form提交时怎么用js将内容中的回车换行转换成换行符<br>或者<li>标签啊!
- 右下角弹出小窗口 javascript 不能完全最小化
- 两个按钮相互切换按钮的背景图片???
当页面加载完成后,同时加载了showModelessDialog页面,其textbox值为1。点击在父窗体上的button,要实现将showModelessDialog页面上的textbox值变为0。这个值就是通过showModelessDialog传过去的参数。要怎么做呢?我做了一个比较笨的方法,就是在点击button的时候又调用一遍加载showModelessDialog页面方法,可这样showModelessDialog页面就变成两个了,怎么控制只有一个呢?
源码奉上:
父窗体:
<body onload="initpage()">
<input id="Button1" type="button" value="button" onclick="ClkBtn()"/>
<script type="text/javascript" language="javascript">
function initpage() {
onLoadSmallCmr(0);
}
function onLoadSmallCmr(cmrShow) {
var iTop = (window.screen.availHeight - 450) / 2 + 22;
var iLeft = (window.screen.availWidth - 300) / 2 - 52;
window.showModelessDialog("SideStream.htm", cmrShow, "dialogHeight=300px;dialogWidth=300px;top=" + iTop + ";left=" + iLeft + ";toolbar =no;menubar=no;scroll=no;resizable=yes;location=no;status=no");
} function ClkBtn() {
onLoadSmallCmr(1);
}
</script>
</body>
子窗体:SideStream.htm
<body onload="recValue()">
<input id="Text1" type="text" /><br />
<input id="Button1" type="button" value="button" onclick="retValue()" />
<script type="text/javascript" language="javascript">
function recValue() {
var recValue = window.dialogArguments;
document.getElementById("Text1").value = recValue;
} function retValue() {
window.close();
}
</script>
</body>
我在网上查了资料,真是不怎么全,都是ModalDialog的,ModelessDialog资料确实很少
本着送佛送到西的原则,研究了一下,写了完整的sample,你试试吧<HTML>
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";
var intval = null;
var m = null;
function fnCallDialog(){
if(m)
{
}else{
m = showModelessDialog("myDialog.html",window,"status:false;dialogWidth:300px;dialogHeight:300px");
}
if(!intval){
intval = setInterval(function(){
if(m && m.closed)
m = null;
}, 500);
}
}
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()"></BODY>
</HTML><HTML>
<HEAD>
<TITLE>myDialog.htm</TITLE>
<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();">
</BODY>
</HTML>
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";
var m = null;
function fnCallDialog(){
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()"></BODY>
</HTML><HTML>
<HEAD>
<TITLE>myDialog.htm</TITLE>
<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();">
</BODY>
</HTML>
谢谢您这么细心的回答,但是您还是意错意了,我不是要触发子窗体的button传值给父窗体,我想要父窗体的button触发传值给子窗体肿么弄呢?
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";
var m = null;
function fnCallDialog(){
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="Display Modeless Dialog" onclick="m.document.getElementById('linkA').click()"></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>
<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>