读书人

Domino BS中使用submit后执行关闭窗口

发布时间: 2012-11-25 11:44:31 作者: rapoo

Domino BS中使用submit后执行关闭窗口问题
情景:在Domino BS中点击提交按钮执行如下代码:

     document.forms[0].submit();     window.close();     if(opener){ opener.top.location.reload();

功能:执行表单提交(保存),关闭当前窗,刷新父窗口

出现问题:网络延迟/Domino服务器负载较大时,window.close可能在保存文档动作(Domino服务器执行)未结束前执行了,导致当前修改的文档未保存成功。

解决方法:把原有的关闭脚本去掉,在表单中添加名为"$$Return"的域,执行如下公式:
@Return("<Body onload=\"try{top.opener.host;top.opener.location.reload();window.open('','_self');window.close();}catch(exp){window.open('','_self');window.close();} \"></Body>")
当表单所以任务执行完成以后才执行"$$Return"域中的代码,返回相应结果给浏览器。

读书人网 >Web前端

热点推荐