2014-03-04 90 views
2

我在我的web應用程序中遇到問題。我似乎在我的用戶名和密碼字段中遇到了自動填充。沒問題,當我登錄時,即使在我的textFields(InputText)命名方式不同的情況下,即使在創建帳戶頁面中,它仍然會自動填充。我已經在Chrome和Firefox中嘗試了這一點,它仍然是一樣的。不需要的自動填充

下面是應用程序和代碼的一些屏幕截圖。

對於創建賬戶頁面

enter image description here

 <p:outputLabel id="userLabel" value="Username*" /> 
    <p:inputText id="userField" 
     value="#{marketingPersonController.marketingPerson.account.username}" 
     required="true" requiredMessage="Username* value is required." 
     label="UsernameInput"> 

     <f:ajax 
      listener="#{marketingPersonController.checkUsernameIfAvailable()}"/> 
    </p:inputText> 

    <p:outputLabel id="passLabel" value="Password*"/> 
    <p:password id="passField" 
     value="#{marketingPersonController.marketingPerson.account.password}" 
     feedback="true" inline="true" 
     match="confirmPassField" required="true" 
     requiredMessage="Password* value is required" label="PasswordInput" 
     validatorMessage="Password must be at least 6 characters/Password does not match"> 
     <f:validateLength minimum="6" /> 
    </p:password> 

對於我的日誌中

enter image description here

這裏是我的日誌代碼:

<table> 
    <tr> 
     <td><p:outputLabel rendered ="#{!accountController.loggedIn}" value ="Username:"/></td> 
     <td><p:inputText rendered="#{!accountController.loggedIn}" id="username" value="#{accountController.account.username}"/></td> 
     <td><p:message for="username" rendered ="false"/></td> 
    </tr> 
    <tr> 
     <td><p:outputLabel rendered="#{!accountController.loggedIn}" value="Password:"/></td> 
     <td><p:password rendered="#{!accountController.loggedIn}" id="password" value="#{accountController.account.password}"/></td> 
     <td><p:message for="password" rendered ="false"/></td> 
    </tr> 

+1

請參閱[autocomplete =「off」相關問題](http://stackoverflow.com/questions/3211442/how-to-do-autocomplete-off-at-form-level-in-jsf) –

回答

0

您需要關閉自動完成功能,但jsf沒有自動完成屬性。這意味着您必須在每個輸入的基礎上關閉它,或者爲UIForm編寫自定義渲染器。

目前有一個公開的問題,它要求將此屬性添加到:JSF規範問題418.目前,它計劃用於JSF 2.2。

與此同時,您可以使用OmniFaces Html5RenderKit在組件上獲得對autocomplete =「off」的支持。

0

這裏(MDN) 如果autocomplete =「off」的解決方案不起作用,您可以找到一些推薦的解決方法。