【发布时间】:2013-11-14 16:43:52
【问题描述】:
在 JSF 中单击 commandButton 后是否可以重置 inputText 的值? inputText UIElement 提供了 ResetValue 方法,所以我尝试了这样的方法:
<h:inputText id="measurementadd" binding="#{inputTextMeasurement}">
<f:validateRegex pattern="[a-zA-Z ]*"/>
<f:ajax event="keyup" render="measurementaddmessage submit" execute="@this"/>
<h:inputText>
<p:commandButton id="submit" action="#{Bean.addMeasurement(inputTextMeasurement.value)}"
value="submit" update="dataTable measurementadd measurementaddmessage"
disabled="#{empty inputTextMeasurement.value or facesContext.validationFailed }" >
<f:ajax event="mouseup" execute="#{inputTextMeasurement.resetValue()}" />
</p:commandButton>
<h:messages for="measurementadd" id="measurementaddmessage"/>
但点击按钮后 inputTextMeasurement 并没有重置它的值。
有人知道解决这个问题的好方法吗?
我正在寻找一个没有 JS 和 JAVA 的解决方案,所以在 JSF 中实现会很酷。
【问题讨论】:
-
绑定是否正确
binding="#{inputTextMeasurement}而不是binding="#{inputTextMeasurement.value}? -
@Kuba:是的,这绝对是正确的。另见stackoverflow.com/questions/12506679/…