Как встраивать jQuery / javascript в JSF XML - PullRequest
0 голосов
/ 20 мая 2010

Я бы хотел сосредоточиться на первом h:inputSecret компоненте в моем RichFaces rich:modalPanel. Я прочитал, что мне нужно использовать JavaScript, который я включил в список ниже, но он просто не работает (Win FF). Может кто-нибудь сказать мне, почему нет? Я попытался автофокусироваться на id = "Form" и дать ID PanelGrid и использовать это безрезультатно. Любая помощь приветствуется.

                    <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>    

Ответы [ 2 ]

0 голосов
/ 09 сентября 2010

Включили ли вы библиотеку jQuery на свою страницу.Попробуйте использовать приведенное ниже, убедитесь, что JQuery включен,

Подробнее см. На сайте ниже,

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_jQuery.html

0 голосов
/ 20 мая 2010

Может быть, вы можете попробовать

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

Надеюсь, это поможет.

...