【问题标题】:Primefaces: Keep value of input text inside a dialog after calling initPositionPrimefaces:调用initPosition后将输入文本的值保留在对话框中
【发布时间】:2017-01-30 16:15:48
【问题描述】:

我有一个对话框需要在选择某个 selectOneMenu 后重新呈现。

为此,在 selectOneMenu 中使用了以下代码:

<p:ajax event="valueChange" oncomplete="PF('dialog').initPosition();" update="panelGrid" />

但是,在重新呈现对话框后,我的 p:inputText 中的所有用户输入都将丢失(从 java bean 重置为值)。

如何使 inputText 保持新值而不将其持久化到后端?

【问题讨论】:

  • 你能添加你的 managedbean 以及 p:ajax 所在的 html 表单和 p:dialog 所在的 html 表单。尽可能多地添加。根据您提供的信息,我无法提供任何建议
  • 你是说输入字段没有被update="panelGrid"覆盖?但是,如果它们是,您为什么不只更新对话框本身,而且显然不必要地更新输入字段?

标签: jsf primefaces


【解决方案1】:

提供您的 inputText 组件所在的 XHTML 页面。我最好的解决方法是在 inputText 组件中添加 p:ajax 组件。如下定义的p:ajax 触发默认事件change 并处理@this,它是inputText 组件。这样,一旦您退出该字段,它就会将您的输入保存在支持 bean 上。

 <p:inputText value="#{bean.value}" >
     <p:ajax />
 </p:inputText>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多