欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RichFaces标签,弹窗中的按钮需要点击两次才起作用的问题 richfacesXHTML

程序员文章站 2022-03-09 22:04:27
...
在使用RichFaces标签开发遇到一个问题,就是在弹窗页面(使用rich:popupPanel标签包裹的xhtml页面)点击按钮(a4j:commandButton)打开另一个弹窗页面,第一次点击按钮的时候按钮的action事件(<a4j:commandButton action="#{action.method()}" ...)并没有执行,第二次点击按钮时才执行。

需要在打开弹窗界面时,同时把弹窗页面里面的 <h:form>标签渲染,这样在这个弹窗页面里点击按钮的action事件,点击一次就可以执行了。

第一个弹窗页面部分代码:
<rich:popupPanel id="OpenCloseLinkBatchEditMP" width="850" height="400" resizeable="false" moveable="true">
<f:facet name="header">Open &amp;Close Link #{i19n.translate('elm.base.ejc')}</f:facet>  
    <h:form id="DVFormLink">
        <h:message id="errorMessage" for="errorMessages"></h:message>
        <s:decorate id="errorMessagesDec">
            <h:messages id="errorMessages" style="color: red;"></h:messages>
        </s:decorate>
                    
        <rich:panel style="width:97%; border:0;">
            <h:panelGrid columns="2" width="90%">
                <s:decorate id="orgSelectDec" 
                    template="/layout/edit.xhtml">
                    <ui:define name="label">#{messages['STATIC_LABEL.SUB_DEPARTMENT']}</ui:define>
                    <h:inputText id="SubDepartmentId" value="#{openCloseEditAction.sdeptIds}"  style="display:none;">
                    </h:inputText>
                    <h:outputText id="SubDepartmentName" style="position:relative;top:-6px;"
                        value="#{staffingParamsTool.calOrgNames(openCloseEditAction.sdeptIds)}" />
                    <h:graphicImage value="/img/blank.png"  width="5px" />
                    <a4j:commandButton
                        id="orgTreeLink" value="#{messages['STATIC_LABEL.ORG_SELECTOR']}"
                        type="image" image="/img/org.png"
                        action="#{subDepartmentSelectTool.setInputBoxTags('DVFormLink:orgSelectDec:SubDepartmentId','DVFormLink:orgSelectDec:SubDepartmentName','DVFormLink:PosSelectDec','openCloseEditAction.callbackFromSelectOrgs',openCloseEditAction.sdeptIds)}"
                        oncomplete="#{rich:component('ReduceFocusToolMultiStoreMP')}.show();"
                        render="reduceFocusToolFormMultiStore, selectedForm"
                        ajaxSingle="false" />
                </s:decorate>




主页面代码(打开第一个弹窗):
 <a4j:commandButton value="#{messages['STATIC_LABEL.LINK_TO']}" render="OpenCloseLinkBatchEditMP,DVFormLink" execute="@this"  oncomplete="#{rich:component('OpenCloseLinkBatchEditMP')}.show();"
                action="#{openCloseEditAction.batchLink2Ejc()}" 
                rendered="#{openCloseAction.viewDataMode == 0}">



mark.....
http://www.it1352.com/52369.html
相关标签: richfaces XHTML