1

p:watermarkp:inputText. 它工作正常。
每当我更新组件时,它就会丢失水印,即使里面没有内容p:inputText

<h:form id="reg_frm">
   <p:inputText id="name" value="#{user.name}"/>
   <p:watermark value="your name" for="name" id="name_watermark" />

   <p:selectOneMenu value="#{user.drpvalue}">
      <f:selectItem itemLabel="One" itemValue="1"/>
      <f:selectItem itemLabel="two" itemValue="2"/>
      <f:selectItem itemLabel="three" itemValue="3"/>
      <f:selectItem itemLabel="four" itemValue="4"/>
      <p:ajax event="change" update="name name_watermark"/>
   </p:selectOneMenu>

</h:form>

更新后没有内容时如何保留水印 p:inputText

注意:Primefaces 版本 - 3.5

4

2 回答 2

2

根据 PrimeFaces 的水印展示:“水印通过在支持的浏览器中使用本机占位符和在其他浏览器兼容性中使用 javascript 解决方案来显示有关输入字段的提示。”

PrimeFaces 可能会向作为两个组件(输入和水印)的父元素的元素添加一些隐藏的 javascript 内容。在您的情况下,这是您需要更新的表格。如果您不想这样,请在两个元素周围放置一个新的面板组并更新它,这将具有相同的效果。

于 2013-08-22T11:48:42.633 回答
1

试试这个属性:

oncomplete="PrimeFaces.showWatermarks()"

它在 Primefaces 用户指南中给出。

于 2013-08-22T11:33:39.717 回答