我有一个XPage,它存在一个CheckBox组控件。我为onclick事件定义了代码,将复选框的值提交给服务器上的Managed Bean,并触发另一个元素的部分刷新。
编辑EXISTING文档时,此工作正常。
但是,使用新文档时,提交永远不会触发。
以下是代码:
<xp:checkBoxGroup
id="cztypes1"
value="#{document1.czTypes}"
required="true"
layout="pageDirection">
<xp:this.validators>
<xp:validateRequired message="You must select at least one Employee Type" />
</xp:this.validators>
<xp:selectItem
itemLabel="Office"
itemValue="O" />
<xp:selectItem
itemLabel="Non-Office"
itemValue="N" />
<xp:selectItem
itemLabel="Sub Contractors"
itemValue="S" />
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="alertRecipients1">
<xp:this.action><![CDATA[#{javascript:AlertMessage.echo(getComponent("cztypes1").getValue());}]]></xp:this.action>
</xp:eventHandler>
</xp:checkBoxGroup>
有什么想法吗?
答案 0 :(得分:3)
好的,刚从另一个论坛的朋友那里得到了这个答案。
问题与XPage上其他控件的验证器有关 由于生命周期是处理和验证失败(对于其他空白字段),因此未处理此onclick提交部分。
通过将immediate = true属性添加到事件处理程序来演示:
这样做可以继续进行测试,然后成功调用了echo方法(由于验证失败,传递了空值)。
一旦XPage上的其他字段被正确填写,这个onclick事件就可以了。