当前位置: 代码迷 >> 综合 >> Salesforce -- 自定义按钮弹出VisualForce页面,页面关闭后刷新原页面
  详细解决方案

Salesforce -- 自定义按钮弹出VisualForce页面,页面关闭后刷新原页面

热度:62   发布时间:2023-12-19 02:03:04.0
1.自定义按钮JS:
//打开新页面/窗口
var new_window = window.open('/apex/RelationUnitBuSetPage?rucId={!Relation_Unit__c.Id}');//循环检测窗口是否关闭var loop = setInterval(function() {
       //如果新窗口关闭了,刷新原来的页面 if(new_window.closed) {    clearInterval(loop);    window.location.reload();}    }, 1000);
2.Visualforce页面:
<apex:page standardController="Relation_Unit__c" extensions="RelationUnitBuSetPageController" readOnly="false" showHeader="false" sidebar="false"><apex:form id="form"><script>function closeWindow(){
     //判断标志位关闭本window(commandButton逻辑执行完后,关闭本页面)if ({!refreshNumber} == 1) {window.close();}}</script><!-- <apex:pageMessages /> --><div align="center"><c:RoseMultiselectPicklist leftLabel="可选BU" leftOption="{!allBus}" rightLabel="已选BU" rightOption="{!selectedBu}" size="5" width="200px" recordId="{!recordId}" /></div><br/><div align="center">//这里使用oncomplete监听commandButton执行完成后的方法,需要添加reRender获取最新的refreshNumber标志位的值<apex:commandButton action="{!doSave}" value="保存修改" style="width: 80px" oncomplete="closeWindow()" reRender="form"/></div></apex:form>
</apex:page>
3.Controller设置标志位判断是否要刷新页面
  相关解决方案