我尝试通过对话框控件更新项目。 但我的控制OK按钮(或对话框中的任何其他功能)不会刷新我的"底层"的XPage。 我确定它很简单......
对话框的(简体示例)代码:
<xe:dialog id="diaSnippet" title="Update my xpage" extractContent="true"
preload="true">
<xe:dialogContent id="dialogContent1">
<xp:panel>
<xp:inputText value="#{test.dialog1}" id="inputText1">
<xp:this.defaultValue><![CDATA[#{javascript:test.getItemValueString("item1")}]]></xp:this.defaultValue>
</xp:inputText>
</xp:panel>
</xe:dialogContent>
<xe:dialogButtonBar id="dialogButtonBar1">
<xp:panel>
<xp:button id="button3" value="OK">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:test.replaceItemValue("item1","1234")
getComponent("diaSnippet").hide()}]]></xp:this.action>
</xp:eventHandler></xp:button>
</xp:panel>
</xe:dialogButtonBar>
</xe:dialog>
在我的理解中,Ok应该更新xpage,并且应该更改项目&#34; item1&#34;的值,但它什么都不做。 提前帮助你,Uwe
答案 0 :(得分:1)
&#34;服务器选项&#34;中的设置在事件选项卡上似乎什么都不做,但在hide()方法中写入要刷新的ID可以解决问题。 因此,而不是getComponent(&#34; diaSnippet&#34;)。hide()我写了getComponent(&#34; diaSnippet&#34;)。hide(&#34; IDtorefresh)
乌韦