【问题标题】:PrimeFaces, Disabling/Enabling an p:inputText does not save its value to databasePrimeFaces,禁用/启用 p:inputText 不会将其值保存到数据库
【发布时间】:2015-02-25 13:22:16
【问题描述】:

我正在组合 <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>

注意:我单独测试了块&lt;p:inputText&gt;,它正在保存在数据库中。

提前致谢,

【问题讨论】:

  • 请记住,带有disabled="true" 的组件在请求期间不会得到处理
  • 您好。要真正分析您的问题而无需猜测,如果您提供了 ManagedBean 和用于处理这些值的整个表单,那就太好了。表单是如何提交的?

标签: jsf primefaces


【解决方案1】:

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

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

【讨论】:

  • 感谢您的帮助,阿贝德。根据您的建议,我刚刚添加了一个 ajax,但仍然没有工作。
  • 你的Value是怎么保存的,能写出函数吗?
猜你喜欢
  • 2015-06-11
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 2016-04-02
  • 1970-01-01
  • 2011-01-19
相关资源
最近更新 更多