XPages 对话框堆叠

XPages Dialog boxes stacking

我遇到了问题,每次单击打开对话框的按钮时,我的对话框都会堆叠起来。所以如果我点击了三次,我会得到这个:

我找不到如何防止这种情况发生。无论我点击哪个按钮(OK 进行部分刷新 | Abbrechen (Cancel) 进行完整更新)我每次点击按钮时都会得到另一个框。

打开对话框的按钮代码:

<xp:button value="Plan meeting" id="buttonPlanMeeting">
  <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
    <xp:this.action><![CDATA[#{javascript:try {
      var c = getComponent("dPlanMeeting")
      c.show();
    } catch(e) {
      dBar.error(location + e);
    }}]]></xp:this.action>
  </xp:eventHandler>
</xp:button>

完整对话框的代码:

<xe:dialog id="dPlanMeeting" title="Plan meeting" keepComponents="true">
  <xp:panel>
    <xp:text escape="true" id="MBPlanMeeting">
      <xp:this.value><![CDATA[#{javascript:specialstrings.getString("ccEsgDocWflContentEditInfos.dPlanMeeting.MBPlanMeeting")}]]></xp:this.value>
    </xp:text>
  </xp:panel>
  <xe:dialogButtonBar>
    <xp:button value="Ok" id="buttonDelegateOk" styleClass="lotusFormButton">
      <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:try {
          //will create a meeting for every day the visit is registered
          var wfDoc:NotesDocument = docApplication.getDocument(true);
          specialMeetingCreate(wfDoc);

          var c = getComponent("dPlanMeeting");
          c.hide();

          var c = getComponent("dMeetingCreated")
          c.show();
        } catch (e) {
          dBar.error(location + e);
        }
       }]]></xp:this.action>
      </xp:eventHandler>
    </xp:button>
    <xp:button value="Cancel" id="buttonDelegateCancel" styleClass="lotusFormButton">
      <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:try {
          var c = getComponent("dPlanMeeting");
          c.hide();
        } catch (e) {
          dBar.error(location + e);
        }
      }]]></xp:this.action>
    </xp:eventHandler></xp:button>
  </xe:dialogButtonBar>
</xe:dialog>

这跟keepComponents有关系吗?真假都试过了,效果还是一样

有什么想法吗?

好的,看来解决方案只是设置 "keepComponents = false"。我以前试过,但现在它正在工作。无论我多久点击一次按钮,我都只会出现一次对话框