Primefaces fornisce un attributo placeholder
nelle sue ultime versioni che è possibile utilizzare per p:inputText
. Inoltre, esiste un componente p:watermark
che crea una soluzione basata su JS per la compatibilità con i browser legacy. Quindi non è assolutamente necessario impostare un valore predefinito nel bean di supporto. Basta usare una delle seguenti soluzioni:
<h:outputLabel value="Search: "/>
<p:inputText id="search_input_id" value="#{watermarkBean.keyword}"
required="true" label="Keyword" placeholder="search" />
Per i browser legacy:
<h:outputLabel value="Search: "/>
<p:inputText id="search_input_id" value="#{watermarkBean.keyword}"
required="true" label="Keyword" />
<p:watermark for="search_input_id" value="search" />
Anche se si utilizza JSF 2.2, è possibile utilizzare i suoi attributi passante. L'aggiunta di xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
namespace alla tua pagina, è possibile ottenere in questo modo, sia per JSFh:inputText
e Primefacesp:inputText
:
<h:inputText value="#{watermarkBean.keyword}"
pt:placeholder="search" />
O avvolgendolo nel tag con un TagHandler:
<h:inputText value="#{watermarkBean.keyword}">
<f:passThroughAttribute name="placeholder"
value="search"/>
</h:inputText>
che crea HTML 5 based input con attributo placeholder
:
<input placeholder="search">
fonte
2013-08-15 10:37:52
In termini HTML di base, questa cosa è chiamata "segnaposto". Questa nuova parola chiave di ricerca dovrebbe darti degli indizi. – BalusC
' ' –
@XtremeBiker -perché non pubblicare una risposta? – kolossus