фокусировка полей с помощью вкладок в richfaces - PullRequest
0 голосов
/ 27 марта 2012

Мне нужно сфокусировать selectonemenu, когда нажимается кнопка a4j: command. У меня есть следующий код, и в этом мне нужно сфокусировать поле с идентификатором как «equipsel», когда buuton с идентификатором как «aedtls» щелкает, я пытался с javascript и jquery без использования, пожалуйста, помогите мне

                <rich:tab id="equipmentTab" name="ed" reRender="k1,k2"
                switchType="client"
                label="#{messages['com.infyz.toms.entity.ShipmentEquipmentDetails']}">
                <a4j:outputPanel id="equipmentPanel">
                    <h:outputText value="There are no shipment equipment details"
                        rendered="#{itOfferEquipments.rowCount==0}" />
                    <s:div
                        style="min-height: 10px; max-height: 150px;width:440px; overflow-x:hidden; overflow-y:auto;">
                        <rich:dataTable id="itOfferEquipmentsListTable"
                            rowClasses="odd-row,even-row" var="_shipmentEquipmentDetails"
                            value="#{itOfferEquipments}" cellpadding="0" cellspacing="0"
                            onmouseover="mouseover2()" onmouseout="mouseout2()"
                            width="370px" rendered="#{itOfferEquipments.rowCount > 0}">

                            <rich:column id="machinarymaster" width="200px" sortable="true"
                                headerClass="removeheadergreen">
                                <f:facet name="header">
                                    <h:panelGrid columns="2">
                                        <h:outputText styleClass="headerText"
                                            value="#{messages['com.infyz.toms.properties.Type']}" />
                                        <span class="required">*</span>
                                    </h:panelGrid>
                                </f:facet>
                                <h:selectOneMenu id="equipsel"
                                    value="#{_shipmentEquipmentDetails.icMachinaryMaster}"
                                    style="width:175px" required="true"
                                    requiredMessage="*#{messages['com.infyz.toms.properties.Type']}::--->Value is Required">
                                    <s:selectItems value="#{icMachinaryMasters}" var="machinary"
                                        label="#{machinary.machinaryId}"
                                        noSelectionLabel="#{messages['com.infyz.toms.messages.Click_here_to_select']}" />
                                    <s:convertEntity />
                                    <a4j:support event="onchange"
                                        reRender="machinarymaster,capacity" ajaxSingle="true"
                                        limitToList="true" />
                                </h:selectOneMenu>
                            </rich:column>

                            <rich:column id="capacity" width="60px" sortable="true"
                                headerClass="removeheadergreen">
                                <f:facet name="header">
                                    <h:outputText styleClass="headerText"
                                        value="#{messages['com.infyz.toms.properties.Capacity']}" />
                                </f:facet>
                                <h:inputText
                                    value="#{_shipmentEquipmentDetails.icMachinaryMaster.capacity}"
                                    disabled="true"
                                    style=" width : 60px;#{messages['com.infyz.toms.disablefield.style']}" />

                            </rich:column>

                            <rich:column width="110px" id="quantity"
                                headerClass="removeheadergreen">
                                <f:facet name="header">
                                    <h:outputText styleClass="headerText"
                                        value="#{messages['com.infyz.toms.properties.Quantity']}" />
                                </f:facet>
                                <h:inputText value="#{_shipmentEquipmentDetails.quantity}" >
                                    <a4j:support event="onblur" reRender="quantity" />
                                </h:inputText>
                            </rich:column>

                        </rich:dataTable>
                    </s:div>
                    <ui:include src="/common_activities/tablerowcolor.xhtml">
                        <ui:param name="tableId" value="itOfferEquipmentsListTable" />
                        <ui:param name="mouseovername" value="mouseover2" />
                        <ui:param name="mouseoutname" value="mouseout2" />
                    </ui:include>
                    <ui:include src="/common_activities/datatableselectioncolor.xhtml">
                        <ui:param name="tableId" value="itOfferEquipmentsListTable" />
                    </ui:include>
                    <rich:spacer height="8" />
                    <s:div style="text-align:right;">
                        <a4j:commandButton id="aedtls"
                            action="#{shipmentEquipmentAction.addOfferEquipments}"
                            reRender="equipmentPanel, equipsel"
                            rendered="#{s:hasRole(messages['com.infyz.toms.role.commercial.export.offer.create'])}"
                            onclick="#{rich:component('progressPanel')}.show();"
                            oncomplete="#{rich:component('progressPanel')}.hide(); if (#{facesContext.maximumSeverity!=null}) #{rich:component('messagePanel')}.show();"
                            value="#{messages['com.infyz.toms.label.button.tooltip.Add']} Offer Equipment" />
                        <rich:spacer width="8" />
                        <a4j:commandButton
                            action="#{shipmentEquipmentAction.cancelOfferEquipment}"
                            rendered="#{s:hasRole(messages['com.infyz.toms.role.commercial.export.offer.create'])}"
                            reRender="equipmentPanel" immediate="true"
                            value="#{messages['com.infyz.toms.label.button.tooltip.Cancel']}" />
                    </s:div>
                </a4j:outputPanel>
                <rich:hotKey id="k2"
                    key="#{messages['com.infyz.hotkeys.Insert_new_record']}"
                    handler="#{rich:element('aedtls')}.onclick();return false;"
                    rendered="#{itShipmentOrderAction.selectedTab eq 'ed'}" />
            </rich:tab>

1 Ответ

0 голосов
/ 29 марта 2012

Вы можете получить реальный визуализированный идентификатор с помощью # {rich: element ('equipsel')}, а затем использовать этот элемент dom для установки фокуса. Тогда позвони с кнопки. Что-то вроде:

<script>
    function setFocusToEquipsel() {
        #{rich:element('equipsel')}.focus();
    }
</script>

<a4j:commandButton id="aedtls"
    oncomplete="... ; setFocusToEquipsel();"
/>

Полагаю, это должно сработать.

MAG, Мило

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...