决策平台可以通过js刷新上一个窗口吗?

blob.png

如图,当前标签提交成功后,能否通过回调函数刷新前一个窗口?

405812832 发布于 2019-4-29 09:28
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
405812832Lv3见习互助
发布于2019-4-29 11:27

帆软帮助文档里已经有了

用新标签打开的子页面实现关闭时刷新父标签-http://help.finereport.com/finereport9.0/doc-view-2419.html

最佳回答
0
尘埃。Lv2初级互助
发布于2019-4-29 09:40(编辑于 2019-4-29 09:41)

场景描述:在实际项目中做填报时,会遇到点击按钮跳转到子窗口填写详细信息,当填报完成,关闭子窗口时,希望能刷新父窗口,要如何设置才能实现子窗口关闭后刷新父页面呢?

222

注:360浏览器极速模板不支持该效果

2. 思路编辑

在我们填报过程中,当我们链接到子报表时,通过填报设置里面的加载结束事件,就可以将之前的页面重载刷新。

我们会用到两个方法:

1)在子窗口退出的时候,通过window.opener.location.reload() 刷新父窗口。

2) onunload 事件在用户退出页面时触发事件。 

将上述两种事件结合起来使用,可以触发该效果。

3. 操作步骤编辑

3.1 新建父页面

1)新建父页面,添加ds1数据集SELECT * FROM userinfo

设计界面如下:

222


3.2 新建填报子页面


1)填报子页面设计界面如下:

222

2)设置报表填报属性:

222

在子窗口的填报模板,点击模板>模板web属性>填报页面设置,点击事件设置,添加加载结束事件。

注:是在被链接的模板上面加填报页面设置,加载结束事件。

222

添加js代码:

  1. window.onunload = function(){ this.opener.location.reload(); }  

4. 移动端预览编辑


4.1 PC端预览效果


保存模板,选择填报预览,实现效果如描述中所示。

注:经过测试,手机端和h5不支持该效果。

移动端可以参考此效果:[APP]填报成功关闭当前页面并刷新父页面

5. 已完成模板编辑

1)父页面

模板效果在线查看请点击:JS实现关闭子窗口时刷新父窗口(父).cpt

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\13-JS实现关闭子窗口时刷新父窗口(父).cpt

点击下载模板

2)子页面

模板效果在线查看请点击:JS实现关闭子窗口时刷新父窗口(子).cpt

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\13-JS实现关闭子窗口时刷新父窗口(子).cpt

点击下载模板



如果解决了您的问题,请及时采纳,谢谢

  • 405812832 405812832(提问者) 我现在需求是,不关闭子页面,填报成功后就直接刷新父页面
    2019-04-29 09:47 
最佳回答
0
啦啦啦啦Lv6见习互助
发布于2019-4-29 09:52

web属性添加填报成功事件(填报成功自动刷新)

window.parent.location.reload();

  • 3关注人数
  • 904浏览人数
  • 最后回答于:2019-4-29 11:27
    请选择关闭问题的原因
    确定 取消
    返回顶部