1

我的表单中有一个 h:inputText 。当我更新其 panelGroup 时,该值未正确更新。JSF 版本是 2.1.13。

如果我使用 disable="true" 或在 h:outputText 中显示 bean 值或刷新页面,它的更新正确。但默认情况下它不会发生。

<span style="min-width: 100px;"> First Name: #{NewPatient.newPatientBean.firstName}</span>
                <h:inputText id="fname" 
                    value="#{NewPatient.newPatientBean.firstName}"
                    onchange="initialCaps(this);" maxlength="50">
                    <f:ajax execute="@this" event="blur"/>
                </h:inputText>

在上面的代码中

名字:#{NewPatient.newPatientBean.firstName} 正在正确更新,但 inputText 没有。

请让我知道上述问题的错误和解决方案。提前致谢。

4

1 回答 1

2

当当前或以前的回发期间发生验证错误时,就会发生这种情况。然后,输入组件将不会重新显示模型值,而只会在组件本身验证失败时重新显示最初提交的值,或者当同一表单中的另一个组件验证失败时显示本地值。

由于问题中完全没有具体的功能要求,因此不可能为此提出正确的解决方案。所以这里只是一个链接,它更一般地解释了这个问题,它应该对原因和解决方案提供新的见解:在发生验证错误后,如何使用 PrimeFaces AJAX 填充文本字段?

于 2013-04-03T13:41:53.837 回答