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

时间:2015-02-25 13:22:17

标签: jsf primefaces

我正在组合<p:selectBooleanCheckbox><p:inputText><p:selectBooleanCheckbox>必须启用/禁用<p:inputText>的值。启用<p:inputText>后(<p:inputText>属性disabled=false),允许用户在输入文本字段中键入值,以便稍后将其保存到数据库(值,checkBox和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>,它正在保存在数据库中。

提前致谢,

1 个答案:

答案 0 :(得分:0)

你必须添加一个ajax事件,我认为你错过了输入你的Bean的名字,你必须添加:

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