今天遇到了一个问题, 如何处理模态对话框。具体的要求是:在选择页面上的“添加”按钮,弹出模态对话框,在对话框中添加记录后,选择“确定”按钮,关闭对话框,更新主页面表格的数据。
网上关于模态对话框的讨论有很多,试了一天,发现一个比较好的解决方法:
1、显示对话框:
在jscript脚本文件中加入:
function OpenEditWin(frmWin,width,height)
{
var me;
// 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。
me = window;
// 显示对话框。
window.showModalDialog(frmWin,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no')
}
{
var me;
// 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。
me = window;
// 显示对话框。
window.showModalDialog(frmWin,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no')
}
cmdAdd.Attributes.Add("onclick","javascript:OpenEditWin('" + Session["showForm"] + "',540,400)");
在对话框中加入:
function onsubmit() // 强制本窗口提交
{
document.Form1.target="_self";
}
{
document.Form1.target="_self";
}
Response.Write("<script language='javascript'>");
Response.Write("window.close()");
Response.Write("</script>");
Response.Write("window.close()");
Response.Write("</script>");
在对话框的关闭事件中加入:
Response.Write("<script language='javascript'>");
Response.Write("window.close()");
Response.Write("</script>");
Response.Write("window.close()");
Response.Write("</script>");
在“添加”按钮的处理方法中,添加表格更新的代码。