0

我的表单中有一个丰富的 POPUPPANEL 有问题我有一个带转换器的 selectonemenu,如果我用面板网格以简单的形式制作组件,它会很好用,但是当我在 popuppanel 上进行此操作时,selectonemenu 的值不会发送到我的银行豆我找到它无效的

我尝试了多种技巧但没有结果

所以这里是我的代码在视图 .xhtml

<h:form>
<rich:popupPanel id="piecePanel" autosized="true" width="500"
    domElementAttachment="form" header="Modifier">
    <a4j:outputPanel>
        <b><h:messages style="color: red;" /></b>
    </a4j:outputPanel>
    <rich:panel>
        <h:panelGrid columns="3">
            <h:outputText value="Piece *"></h:outputText>

            <h:selectOneMenu converter="#{GenericConverter}"
                value="#{pieceBean.piece}">
                <f:selectItem itemLabel="" />
                <f:selectItems value="#{listBean.selectPiece}" />

            </h:selectOneMenu>

            <a4j:commandButton action="#{pieceBean.affectpiece2Vehicule}"
                limitRender="true" render="tablePiece"
                onclick="#{rich:component('waitFormPanel')}.show()"
                oncomplete="#{rich:component('waitFormPanel')}.hide()"
                value="affecter" />
        </h:panelGrid>


    </rich:panel>

    <rich:panel>
        <rich:dataTable id="tablePiece" value="#{pieceBean.piecesByVehicule}"
            var="dataItem" rows="12">

            <rich:column>
                <f:facet name="header">
                    <h:panelGroup>
                        <h:outputText value="prix" />
                    </h:panelGroup>
                </f:facet>


                <h:outputText value="#{dataItem.piece.prix}" />
            </rich:column>

            <rich:column>
                <f:facet name="header">
                    <h:panelGroup>
                        <h:outputText value="action" />
                    </h:panelGroup>
                </f:facet>
                <a4j:commandButton action="#{pieceBean.disaffectpiece}"
                    limitRender="true" render="tablePiece" execute="@this"
                    onclick="#{rich:component('waitFormPanel')}.show()"
                    oncomplete="#{rich:component('waitFormPanel')}.hide()"
                    styleClass="ajoutBtn" value="desaffecte">
                    <f:setPropertyActionListener value="#{dataItem}"
                        target="#{pieceBean.currentPieceVehicule}" />
                </a4j:commandButton>
            </rich:column>
        </rich:dataTable>

    </rich:panel>



</rich:popupPanel>

4

1 回答 1

0

您面临的问题有多丰富:popupPanel 是在页面上生成的,当您尝试通过页面上的 firebug 查找他的 ID 时,您会意识到它不再是在客户端上,而是在表单之外生成的!唯一的解决方案是确保 h:form 始终位于 rich:popupPanel 内部而不是外部。请尝试让我知道。

于 2014-02-05T15:01:40.547 回答