选项卡表中的操作组条件中断

时间:2014-07-16 15:57:54

标签: xpages xpages-ssjs

我在多标签选项卡表中有一个可点击的图像。 onclick事件具有两个具有条件的操作组(在一个父操作组下)。每个操作组都有一个操作。第一个操作组条件是"返回false"。它的行动是确认"测试1"。第二个动作组条件是"返回true"并且其行动是确认说"测试2"。

当上述可点击图像位于除默认选项卡之外的选项卡表内的任何位置时,它似乎忽略条件测试,因此触发了两个操作。如果图像在默认选项卡内,或者在选项卡表之外,它将按预期工作,显示在第二个操作上(测试2)。

注意:如果我使用执行脚本操作替换确认操作,则条件有效。看来这是确认行动的具体内容。

以下是可点击图片代码的示例。

<xp:image url="/my.gif" id="image1" alt="Click here" style="cursor:hand;height:16.0px;width:17.0px">
  <xp:eventHandler event="onclick" submit="true" refreshMode="complete" id="eventHandler1">
    <xp:this.action>
      <xp:actionGroup>
        <xp:actionGroup condition="#{javascript:return false;}">
          <xp:confirm message="Test 1"></xp:confirm>
          <xp:executeScript>
            <xp:this.script><![CDATA[#{javascript:try{
              var val = getComponent("cfMessage").getValue();
              getComponent("cfMessage").setValue("test 1")}
              catch(e){}}]]>
            </xp:this.script>
          </xp:executeScript>
        </xp:actionGroup>

        <xp:actionGroup condition="#{javascript:return true;}">
          <xp:confirm message="Test 2"></xp:confirm>
          <xp:executeScript>
            <xp:this.script><![CDATA[#{javascript:try{
              var val = getComponent("cfMessage").getValue();
              getComponent("cfMessage").setValue(val+", test 2")}
              catch(e){}}]]>
            </xp:this.script>
          </xp:executeScript>
        </xp:actionGroup>
      </xp:actionGroup>
    </xp:this.action>
  </xp:eventHandler>
</xp:image>

包含此代码的选项卡表格无异常。我在页面上添加了一个新的选项卡式控件,创建了两个选项卡,并在两个选项卡面板中添加了可单击的图像。

思想?

1 个答案:

答案 0 :(得分:0)

正如您已经注意到的,它与选项卡式面板无关。

我发现,在对组件进行部分刷新后,如果XPages具有客户端交互,则XPage不关心condition属性。

这似乎是一个错误(自{8.5}以来已知similar one

我会使用不同的操作集创建两个不同的图像,并使用rendered标记控制可见性。