1 如何在提交后防止弹出新窗口
2 在模态窗口中再次弹出模态窗口
3 模态窗口返回值
4 刷新父窗口
5 父窗口如何添加刷新脚本
主窗口弹出一个模态窗口,
var firstDiag = window.showModalDialog(url,window,"center:yes;dialogWidth:300px;dialogHeight:400px");
注:在url文件的head加入 <base target='_self'> 就可以添加完一条内容后,继续添加.而不会再弹出一个模态窗口.
在firstDiag窗口中再弹出一个模态窗口
function opendialogwin2(url)
{
var l;
l=(window.screen.width-400)/2;
var t;
t=(window.screen.height-400)/2;
// o dialogHeight: sHeight
// o dialogLeft: sXpos
// o dialogTop: sYpos
// o dialogWidth: sWidth
// o center: ( yes | no | 1 | 0 | on | off )
// o dialogHide: ( yes | no | 1 | 0 | on | off )
// o edge: ( sunken | raised )
// o help: ( yes | no | 1 | 0 | on | off )
// o resizable: ( yes | no | 1 | 0 | on | off )
// o scroll: ( yes | no | 1 | 0 | on | off )
// o status: ( yes | no | 1 | 0 | on | off )
var secondDiag = window.showModalDialog(url,window,"center:yes;dialogWidth:50px;dialogHeight=50px;edge:raised");
form1.txt_gzsj.value=secondDiag; //接收选择的值
}
<form id="form1" runat="server">
<div>
<div id="retu"></div>
<table style="width: 300;border-collapse:collapse;font-size:10pt" border="1">
<tr style="background-color:#DDDDDD">
<td> <a href="#" οnclick="opendialogwin2('select.aspx?in=50')">再弹出一个模态窗口并返回值:</a> </td>
<a href="#" οnclick="window.close();window.dialogArguments.PostBackOnMainPage();">关闭并刷新窗口</a>
........
在secondDiag中代码如下:
<script language="#" type="text/#">
function returnvalue()
{
window.close();
window.returnValue = form1.t1.value;
//window相当于父窗口或opener,是打开窗口时传过来的
//return "333"; 直接用return不可以,也许在别的方式下可以.
}
</script>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="button2" οnclick="returnvalue()" />
<%=Request.QueryString["in"] %>
<input type="text" name="t1" value="123" />
</div>
</form>
........
在secondDiag中代码如下:
<script language="#" type="text/#">
function returnvalue()
{
window.close();
window.returnValue = form1.t1.value;
//window相当于父窗口或opener,是打开窗口时传过来的
//return "333"; 直接用return不可以,也许在别的方式下可以.
}
</script>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="button2" οnclick="returnvalue()" />
<%=Request.QueryString["in"] %>
<input type="text" name="t1" value="123" />
</div>
</form>
最后一个问题:
//To cause postback "as" the Button,父窗口刷新所需脚本代码生成
function PostBackOnMainPage(){
<%=Page.GetPostBackEventReference(Button2)%>
}