来自iteye blog http://pingchajava.iteye.com/blog/913973
问题描述:
在子页面中,修改完点保存的时候,保存数据,自身关闭,父页面刷新,以显示修改后的数据
1、在父页面:点 修改时弹出子窗口的代码(用window.showModalDialog主要是让用户必须点此修改响应后才能做其他的任务):
- //showModalDialog 窗体中的第二个参数 , 是当前窗体对象
- <a href="#" onClick="window.showModalDialog('userupdate.do?userid=<%=lo_dt.uf_GetValue(i, 0)%>',window,'dialogWidth:480px;dialogHeight:180px;status:no;')">修改</a>
//showModalDialog 窗体中的第二个参数 , 是当前窗体对象
<a href="#" onClick="window.showModalDialog('userupdate.do?userid=<%=lo_dt.uf_GetValue(i, 0)%>',window,'dialogWidth:480px;dialogHeight:180px;status:no;')">修改</a>
2、在子窗口中点保存修改,并刷新父窗口:
1)提交时 把 当前的子页面提交到 iframe 里
- //此时 的form 提交到 iframe , iframe 是隐式的
- <iframe name="commitArea" style='display:none;'></iframe>
- <form action="usersave.do" method="post" target="commitArea">
- <input type="button" value="保存" class="button" onClick="check();">
- </form>
//此时 的form 提交到 iframe , iframe 是隐式的
<iframe name="commitArea" style='display:none;'></iframe>
<form action="usersave.do" method="post" target="commitArea">
<input type="button" value="保存" class="button" onClick="check();">
</form>
2) form 提交到 一个 Action ,在action 中
- //在提交的action 方法 中 加上如下语句
- request.setAttribute("updateuserok","修改成功");
//在提交的action 方法 中 加上如下语句
request.setAttribute("updateuserok","修改成功");
并转发到当前子页面
3) 子页面关闭,并刷新父页面
- <logic:present name="updateuserok">
- <script>
- alert("保存成功!");
- //dialogArguments 是 父窗体传过来的对象
- window.dialogArguments.window.location="user.do";
- self.close();
- </script>
- </logic:present>
<logic:present name="updateuserok">
<script>
alert("保存成功!");
//dialogArguments 是 父窗体传过来的对象
window.dialogArguments.window.location="user.do";
self.close();
</script>
</logic:present>
此时的user.do 进过数据库查找后,跳到父页面