1

でPrimefacesを使用p:watermarkしてい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

4

2 に答える 2

2

透かしの PrimeFaces ショーケースによると、「透かしは、サポートされているブラウザーではネイティブ プレースホルダーを使用し、他のブラウザーとの互換性では JavaScript ソリューションを使用して、入力フィールドに関するヒントを表示します。」

PrimeFaces はおそらく、両方のコンポーネント (入力と透かし) の親である要素に、いくつかの隠し JavaScript を追加します。あなたの場合、それは更新する必要があるフォームです。それが望ましくない場合は、両方の要素の周りに新しい panelgroup を配置し、それを更新すると、同じ効果が得られます。

于 2013-08-22T11:48:42.633 に答える
1

この属性を試してください:

oncomplete="PrimeFaces.showWatermarks()"

これは Primefaces User's Guide に記載されています。

于 2013-08-22T11:33:39.717 に答える