2010-05-20 57 views
0

我想專注於我的RichFaces rich:modalPanel中的第一個h:inputSecret組件。我讀過我需要使用下面列表中包含的JavaScript,但它不起作用(Win FF)。誰能告訴我爲什麼不呢?我已經嘗試了id =「Form」的自動聚焦,並給了panelGrid一個id,並使用它無濟於事。任何幫助讚賞。如何在JSF XML中嵌入jQuery/javascript

    <rich:modalPanel id="PwdPanel" autosized="true" width="300" onshow="autofocus('FormNewP0')"> 
        <a4j:region id="FormCont"> 
         <a4j:form name="Form"> 
          <h:panelGrid columns="2" style="padding: 2px;"> 
           <h:outputText value="New password&#160;" /> 
           <h:inputSecret id="FormNewP0" 
            value="#{MyBacking.dbNewPwd0}" /> 

           <h:outputText value="Re-enter new password&#160;" /> 
           <h:inputSecret id="FormNewP1" 
            value="#{MyBacking.dbNewPwd1}" /> 

           <h:outputText value="" /> 
           <h:panelGroup> 
            <a4j:commandButton value="Submit" 
             action="#{MyBacking.dbPwdChange}" 
             oncomplete="#{MyBacking.dbPwdError == true ? 'Richfaces.showModalPanel(\'ErrorPanel\');' : 'Richfaces.hideModalPanel(\'ErrorPanel\');Richfaces.hideModalPanel(\'PwdPanel\');'}" 
             reRender="FormCont,FormText" /> 
            <h:outputText value="&#160;" /> 
            <a4j:commandButton value="Cancel" 
             onclick="#{rich:component('PwdPanel')}.hide();return false;" /> 
           </h:panelGroup> 
          </h:panelGrid> 
         </a4j:form> 
        </a4j:region> 
       </rich:modalPanel> 
       <script type="text/javascript" language="JavaScript"> 
        function autofocus(containerId) { 
         var element = jQuery(":input:not(:button):visible:enabled:first", '#'+containerId); 
         if (element != null) { 
         element.focus().select(); 
         } 
        } 
       </script>  
+0

服務器端源代碼與故事無關,因爲JavaScript沒有看到它的任何一行。客戶端源代碼更感興趣,因爲這是JavaScript可以查看和訪問的唯一源代碼。在瀏覽器中右鍵單擊頁面,然後選擇*查看源代碼*。順便說一下,你對我的其他回答在描述與你相同的症狀的問題上的贊成有點愚蠢,因爲你沒有**相同的問題**。 – BalusC 2010-05-20 13:56:04

+0

嗯,我正在處理幾個類似的問題,所以它可能是一樣的。或者它可能是一個錯誤。 – volvox 2010-05-20 15:41:09

回答

0

可能是你可以嘗試

jQuery("##{rich:clientId('FormNewP0')").focus().select(); 

希望它能幫助。