[求助] 弹窗的页面如何刷新父页面? var win = window.open("b.htm");var refresh = function(){window.location.reload();}b.htmparent.refresh(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 模态对话框是不能用opener引用父窗口的,而是需要父窗口主动传递指针变量的 这个window.showModalDialog有第二个参数,就是做这个用的,你需要把window穿过去,就是这样 var returnValue=showModalDialog('2.html',window,'dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no'); 这样在对话框中就可以引用父窗口对象,怎么引用呢,通过window.dialogArguments就可以应用父窗口了。 在body里面加上location <body onUnload="window.dialogArguments.location.reload()"> 看看那里有问题?<input type="submit" name="btnSubmit" value=" 提 交 " onclick="javascript:window.dialogArguments.reload();window.close();" id="btnSubmit" />对象不支持的属性或方法 showModalDialog是阻塞式的.所以正确的方法应该是子窗口关闭后刷新.例如:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <body onload="alert(1);"> <input type="text" value=""> <input type="button" value="open" onclick="window.showModalDialog('./2.html',window);window.location.reload();"> </body></html>或者使用window.open和链接打开新窗口. 下面这个例子,你可以看到,在弹出窗口中按下refresh按钮后,父窗口一直处于等待等待状态,看到了窗口被关闭后才被刷新.1.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <body onload="alert(1);"> <input type="text" value=""> <input type="button" value="open" onclick="window.showModalDialog('./2.html',window);"> </body></html>2.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <script language="JavaScript"> function reloadParent(){ window.dialogArguments.location.href="http://www.sina.com.cn"; } </script> <body> <input type="button" value="refresh" onclick="reloadParent();"> </body></html> 我给他的方法就是关闭后的仔细看:<body onUnload="window.dialogArguments.location.reload()"> HOHO.终于看到了, :-D. <body onUnload="window.dialogArguments.location.reload()">谢谢,这段代码很好,问题解决了,但为什么子页面关不掉呢?关掉后,自动又打开一个新的。 估计还是你程序自身的问题。你该不会在父窗口的onload事件中打开的子窗口吧?另外,虽然在子窗口的unload事件中也可以完成对于父窗口的刷新,但不推荐这样做,这样会使父窗口,子窗口具有耦合性。 试试在弹出页面的<Head></Head>之间加了<base target="_self"/> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title> 无标题页</title></head><body onUnload="window.dialogArguments.location.reload()"> <form name="form1" method="post" action="InventoryEditor.aspx?StyleNo=615070-B&ColorNo=1" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1NTQ0NDI0OGRk" /></div> <div> <p> <span>图片链接:</span><br /> <input name="txtImageUrl" type="text" id="txtImageUrl" style="width:400px;" /> </p> <p> <span>价格状态:</span><br /> <select name="dropPriceStatus" id="dropPriceStatus"> <option selected="selected" value="1">涨价</option> <option value="2">降价</option> <option value="3">清仓</option></select> </p> <p> <span>价 格:</span><br /> <input name="txtPrice" type="text" value="46" id="txtPrice" /> </p> <p> <input type="submit" name="btnSubmit" value=" 提 交 " onclick="window.close();" id="btnSubmit" /> </p> </div> </form></body></html>这是子页面的代码,不知道那里有问题,关不掉。 你的窗口是不是onload自动打开的??如果那肯定要先打开一个了 不是你子页面的问题是你父页面的问题你的父页面是不是用onload自动打开子窗口的 用的是extjs4 如何在主页面的south.js中加载另一个页面用于加载SEssion? jquery复制行后,删除 IE8 window.location.href 无效解决方法 也面弹出一个登陆窗口,怎么做到? 菜鸟有问题问高人 请问<a>标签添加JS函数的原理,为什么return true,页面就会跳转 jQuery图片轮显的源程序的问题 iframe自适应高度的问题 用parent.document.getElementById("ID").innerHTML会碰到 拒绝访问 请问如何隐藏和显示一个图片 filter不能用在form中间啊 获得子页面的元素
这个window.showModalDialog有第二个参数,就是做这个用的,你需要把window穿过去,就是这样
var returnValue=showModalDialog('2.html',window,'dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no');
这样在对话框中就可以引用父窗口对象,怎么引用呢,通过window.dialogArguments就可以应用父窗口了。
在body里面加上location <body onUnload="window.dialogArguments.location.reload()">
所以正确的方法应该是子窗口关闭后刷新.例如:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body onload="alert(1);">
<input type="text" value="">
<input type="button" value="open" onclick="window.showModalDialog('./2.html',window);window.location.reload();">
</body>
</html>
或者使用window.open和链接打开新窗口.
父窗口一直处于等待等待状态,
看到了窗口被关闭后才被刷新.1.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body onload="alert(1);">
<input type="text" value="">
<input type="button" value="open" onclick="window.showModalDialog('./2.html',window);">
</body>
</html>
2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<script language="JavaScript">
function reloadParent(){
window.dialogArguments.location.href="http://www.sina.com.cn";
}
</script>
<body>
<input type="button" value="refresh" onclick="reloadParent();">
</body>
</html>
我给他的方法就是关闭后的
仔细看:<body onUnload="window.dialogArguments.location.reload()">
HOHO.
终于看到了, :-D.
你该不会在父窗口的onload事件中打开的子窗口吧?另外,
虽然在子窗口的unload事件中也可以完成对于父窗口的刷新,
但不推荐这样做,
这样会使父窗口,子窗口具有耦合性。
试试在弹出页面的<Head></Head>之间加了<base target="_self"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
无标题页
</title></head>
<body onUnload="window.dialogArguments.location.reload()">
<form name="form1" method="post" action="InventoryEditor.aspx?StyleNo=615070-B&ColorNo=1" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1NTQ0NDI0OGRk" />
</div> <div>
<p>
<span>图片链接:</span><br />
<input name="txtImageUrl" type="text" id="txtImageUrl" style="width:400px;" />
</p>
<p>
<span>价格状态:</span><br />
<select name="dropPriceStatus" id="dropPriceStatus">
<option selected="selected" value="1">涨价</option>
<option value="2">降价</option>
<option value="3">清仓</option></select>
</p>
<p>
<span>价 格:</span><br />
<input name="txtPrice" type="text" value="46" id="txtPrice" />
</p>
<p>
<input type="submit" name="btnSubmit" value=" 提 交 " onclick="window.close();" id="btnSubmit" />
</p>
</div>
</form>
</body>
</html>这是子页面的代码,不知道那里有问题,关不掉。
你的窗口是不是onload自动打开的??
如果那肯定要先打开一个了
是你父页面的问题
你的父页面是不是用onload自动打开子窗口的