我正在使用部分刷新更新一个字段,除非存在必需的字段,否则可以正常工作。那么更新根本不起作用。谁能解释为什么?这是我的代码。
<xp:panel rendered="true">
<xp:table>
<xp:tr>
<xp:td>My Value:</xp:td>
<xp:td>
<xp:inputText id="ValueField"
value="#{document1.ValueField}">
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>Required Field: </xp:td>
<xp:td>
<xp:inputText id="inputText1" required="true"></xp:inputText></xp:td>
</xp:tr>
</xp:table>
</xp:panel>
<xp:panel rendered="true">
<xp:table>
<xp:tr>
<xp:td>
<xp:button id="button3" value="Set Value">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="ValueField">
<xp:this.action><![CDATA[#{javascript:document1.setValue("ValueField","12345")}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:td>
</xp:tr>
</xp:table>
</xp:panel>
如果InputText1所需的属性设置为false。
这个问题与我以前的查询相似,但是为了清楚起见,我决定单独发布。
围绕此操作的方法是在"事件"选项卡上选中"无验证的过程数据"
如果您进行完整或部分刷新,则在JSF生命周期中处理验证阶段,这就是为什么没有更新字段的原因。