p:即使没有值,水印也会在更新Component时清除

时间:2013-08-22 09:49:13

标签: jsf primefaces

我在p:watermark上使用Primefaces p: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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

尝试此属性:

oncomplete="PrimeFaces.showWatermarks()"

这是在Primefaces用户指南中给出的。