以下内容都是从网上搜索的,然后自己实践并总结了一下。
一、创建js文件Common.js,内容如下:
里面具体参数的含义就不详细说了,大家可以到网上搜一下,有很多讲解的。
注意:
window.location.reload(); //关闭模态窗口时刷新父窗口
这一句放到创建模态窗口中很好用,这样点击右上角的关闭按钮或者点击模态窗口中自己增加的关闭按钮,关闭窗口时就会自动刷新父窗口。
二、引入js文件:
在需要使用模态窗口的页面引入js文件:
<script type="text/javascript" src="Inc/Common.js"></script>
三、使用示例:
<a href="#" onClick="ShowDialog('AccountAdd.asp',240,500)">添加</a>
<a href="#" onClick="ShowDialog('AccountEdit.asp?AccountID=<%=rsAccount.Fields.Item("AccountID").Value%>',270,500)">修改</a>
四、模态窗口页面中需要加入的代码:
1.防止页面缓存:
<%Response.Expires=-1 '防止页面缓存%>
可以防止页面缓存,否则你修改后的页面总是显示之前的内容。
当然网上还有其它防止缓存的方法,大家可以搜搜看。
2.防止点击提交后又打开新窗口:
<script language="javascript">
window.name="win"
</script>
将窗口的名称改一下,然后在提交的表单中的目标改成win。
<form action="<%=MM_editAction%>" method="POST" name="form1" id="form1" target="win">
还可以使用框架的方法进行防止打开新窗口,但是我觉得有点麻烦,大家可以试试看。
3.关闭窗口按钮:
<input type="button" name="button" id="button" value="关闭窗口" onClick="CloseDialog()"/>
根据自己的需要决定是否加入关闭窗口的按钮。
4.删除网页编码 :
如果你想在提交表单后弹出提示框显示提交成功的话,需要将网页编码行删除,否则会弹出两次。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
弹出提示框:
Response.Write("<script language='javascript'>window.alert('银行日记账添加成功!')</script>")
五、存在的问题:
表单提交后我增加了一个alert语句用于提示已经添加或者修改成功,但是用于添加的那个页面只弹出一次提示框,但是修改的那个页面会弹出两次提示框,比对了代码,没有发现什么不同。
一个临时的解决方法是:在网页上点右键,将编码中的自动选择项取消。
六、截图: