XPages对话框堆叠

时间:2015-07-02 05:38:37

标签: dialog xpages

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

enter image description here

我无法找到如何防止这种情况。无论我点击哪个按钮(确定部分刷新| Abbrechen(取消)进行全面更新)每次单击按钮我都会得到另一个框。

打开对话框的按钮代码:

<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有什么关系吗?我尝试过真假,但效果保持不变。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,似乎解决方案只是设置&#34; keepComponents = false&#34;。我之前尝试过,但现在它正在工作。无论我多久点击一次按钮

,我只会获得一次对话框