iframe弹出表单层提交完页面后的处理方式

来源:互联网 发布:清华大学软件学院 编辑:程序博客网 时间:2024/06/05 07:00

 mainFrame下点击申请添加修改等类似操作往往要求弹出页面处理,表单提交完毕,或许需要给予一个提交成功弹框提示,然后关闭该弹出页面返回mainFrame,最后可能还需要刷新主框体列表数据。

(ps: ajax的一些数据操作中也有类似或者复杂一点的)

总结下自己用到过的一些处理方法:

1.建立中间页面

       当系统中拥有很多需要弹出处理的页面,页面提交完毕之后希望有一些个性化的操作,然后才返回主框体时,我通常会建立一个中间页面。 所有的表单页面数据提交action处理完毕后都会跳转到此页面(仍在弹出框体中),此时可以很自由的展示一些信息,然后window.close(),如果需要刷新主框体数据可以用window.opener.location.reload();

2.页面标记

   当此页面在提交完表单之后需要返回某些值在原表单页面做特定处理时,我会选择做一个页面flag,在加载页面时判定是初次加载还是提交返回。当确定为提交返回后判定当某些特殊处理完毕后关闭页面,简单的逻辑处理。在$(document).ready(function(){})块处理即可。

3.action直接关闭

比较直接方便的关闭方式,当然这里也可以做一些个性化的处理,就不赘述了。

public String metadata() throws Exception {archiveService.create(archives);HttpServletResponse response = ServletActionContext.getResponse();try {response.getWriter().write("<script type=\"text/javascript\">window.close();</script>");} catch (IOException e) {e.printStackTrace();}return null;

 

 

HttpServletResponse response = ServletActionContext.getResponse();try {response.getWriter().write("<script type=\"text/javascript\">window.opener.location = window.opener.location;window.close();</script>");} catch (IOException e) {e.printStackTrace();}return null;