2012-04-27 13 views
0

私の問題は、フォーム2を条件付きでレンダリングすることです。これは、別のform1のajax更新イベントと衝突し、form2のレンダリングをトリガーします。条件付きでレンダリングされたフォームのフィールドを更新します。

<h:form id="form1"> 
    <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" value="#{groupBean.selectedGroupId}"> 
     <p:ajax event="change" listener="#{groupBean.selectGroupEvent}" update=":form1"/> 
     <f:selectItems value="#{groupBean.availableGruppen}" /> 
    </h:selectOneMenu> 
</h:form> 

<h:form id="form2" rendered="#{not empty groupBean.groupDto}"> 
    <p:panelGrid id="groupEditGrid"> 
    ... 
    </p:panelGrid> 
</h:form> 

レンダリング条件をform2のコンポーネント内に入れないと、これを行う方法はありますか?

おかげ
ジョニー

答えて

3

あなたのページにないコンポーネントを更新することはできません。しかしh:panelGroupにフォームをラップすると、ではなく、と表示され、代わりにラッパーを更新することができます。

例:

<h:form id="form1"> 
    <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" 
        value="# {groupBean.selectedGroupId}"> 
     <p:ajax event="change" listener="#{groupBean.selectGroupEvent}" 
       update=":formWrapper"/> 
     <f:selectItems value="#{groupBean.availableGruppen}" /> 
    </h:selectOneMenu> 
</h:form> 

<h:panelGroup id="formWrapper> 
    <h:form id="form2" rendered="#{not empty groupBean.groupDto}"> 
    <p:panelGrid id="groupEditGrid"> 
     ... 
    </p:panelGrid> 
    </h:form> 
</h:panelGroup> 
+0

おかげで再びマット。 – user871611

関連する問題