2013-06-24 33 views
1

如何使p:inputText記住值?我在那裏有autocomplete =「on」,但它不起作用。p:inputText不記得值(自動填充不起作用)

請找到下面的代碼:

<p:inputText id="username_email" value="#{BsnsSgnupLgnBen.userName}" required="true" size="25" autocomplete="on" > 
    <f:validateLength minimum="0" maximum="50" /> 
</p:inputText> 

任何線索?

+0

primefaces自動完成不等同於瀏覽器的自動完成。 – PermGenError

回答

-4

我認爲你應該從Primefaces使用自動完成組件http://www.primefaces.org/showcase/ui/autocompleteHome.jsf

+1

我想OP希望瀏覽器記住用戶在輸入文本中已經輸入的值。而不是從服務器加載的列表 –

+0

是的,我想讓瀏覽器記住以前輸入的值..... –

+0

@Abhishek然後,你應該配置你的瀏覽器來實現它 – PermGenError

3

瀏覽器內置自動完成/自動填充同步載入網頁時進行,才觸發。所以,如果你用ajax加載你的表單,那麼不會觸發自動完成/自動填充。顯然這就是發生在這裏的事情。解決方案很明顯:您需要加載需要同步自動填充/自動填充的表單。例如。通過<h:link>,<h|p:button>等或與faces-redirect=true導航。

由於特定的輸入字段似乎是登錄表單的一部分,我只是爲了完整性而添加,另一個要考慮的事情是登錄表單的用戶名/密碼(表單被認爲是登錄表單當它至少有一個<input type="password">字段時)在由ajax提交登錄本身時不會記住自動完成/自動填充。您應該同步執行實際的登錄。您可以使用<p:commandButton ajax="false">

請注意,具體問題與JSF完全無關。這僅僅是一個HTML代碼生成器。使用不同的服務器端語言生成完全相同的HTML輸出時,甚至在使用普通的香草HTML時,您都會遇到完全相同的問題。