关闭子窗口并刷新父窗口的js写法

         在web页面的管理操作中,一般会有修改选项来对每一个item进行修改操作,这时一般会打开一个新窗口,在新窗口中进行修改信息,修改后页面的form提交到后台程序进行处理,后台程序处理完后,可以返回一个标记到页面前端,在页面判断这个标记的值,并根据值决定是否进行相应的web事件操作。

如在修改信息提交后,用户想要看到的是,修改页面的窗口关闭,原来的窗口中的内容重新刷新,刷新后可以看到修改的内容已经生效。

客户的信息管理页面main.vm:

 <td align="center" valign="middle">  
 <a href="#" οnclick="javascript:window.open('$link.setPage('edit.vm')?id=$!item.Id'newwindow','height=180,width=700,scrollbars=no,status=no,toolbar=no,menubar=no,location=no,top=150')" >修改</a> |   
 <a href="#" οnclick="forbid('$!item.articlecatId')">删除</a>  
 </td>  
<script>  
    function reload() {  
         document.listForm.submit();  
    }  
</script>  

             这里有个reload()和修改页面edit.vm的js脚本window.opener.reload()相应,即当edit.vm的window.opener.reload()执行时,调用reload()。

修改信息的java处理代码:

			context.put("message", "修改成功!");
			setTemplate(data, "cmsissue,article,re_article_category.vm");

    此处用的是turbine框架,context.put(str,obj);相当于request.setAttribute(str,ojb);

setTemplate()相当于forward()方法,就是程序要转向的前端页面。

要跳转到的前端页面的代码edit.vm:

<script>
     alert("$!message");
     window.close();
     window.opener.reload();
</script>
#end
#set($!message="")






前端页面用的是velocity,如果message存在就显示message,并关闭本窗口,刷新父窗口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值