PrimeFaces,禁用/启用p:inputText不会将其值保存到数据库中



我正在组合<p:selectBooleanCheckbox><p:inputText><p:selectBooleanCheckbox>的值必须启用/禁用<p:inputText>。启用<p:inputText>时(<p:inputText>属性disabled=false),允许用户在输入文本字段中键入一个值,以便稍后将其保存到数据库中(包括值、复选框和inputText)。除了引入inpuText对象的值没有保存到数据库之外,一切都很好。我使用的是PestgreSQL数据库,数据库中的字段dpNumPasaporte是数字。

<p:selectBooleanCheckbox id="chkPasaporte" 
                         value="#{DatosPersonalesBean.chkPasaporte}" 
                         style="float: right;padding-top: 9px;" >
                <p:ajax  event="change"
                         update="inpPasaporte"/> 
</p:selectBooleanCheckbox>
<p:inputText id="inpPasaporte" 
             value="#DatosPersonalesBean.datosPersonales.dpNumPasaporte}" 
             style="alignment-adjust: baseline; width: 190px"
             disabled="#{!(DatosPersonalesBean.chkPasaporte)}">
</p:inputText>

注意:我单独测试了块<p:inputText>,它正在数据库中保存。

提前感谢,

您必须添加一个ajax事件,我认为您输入Bean的名称遗漏了这一点,您必须添加:

<p:inputText ... value="#{datosPersonalesBean.datosPersonales.dpNumPasaporte}` >
    <p:ajax event="change" process="@this" />
</p:inputText> 

最新更新