Jsf 从另一个按钮切换p:字段集

Jsf 从另一个按钮切换p:字段集,jsf,primefaces,fieldset,Jsf,Primefaces,Fieldset,我想从字段集内外的按钮展开/折叠字段集,问题是效果并不总是理想的。有时,字段集会在眨眼之间膨胀和折叠,有时它会始终保持打开状态。但是,如果单击与字段集无关的另一个按钮,则似乎“重置”了状态,并且按钮开始正常工作一段时间,直到表单验证失败。 这是整个XHTML。 我怀疑这是因为任何AJAX问题 非常感谢 <p:fieldset id="fs_new_po" widgetVar="fs_new_po" legend="#{msg['btn_add

我想从字段集内外的按钮展开/折叠字段集,问题是效果并不总是理想的。有时,字段集会在眨眼之间膨胀和折叠,有时它会始终保持打开状态。但是,如果单击与字段集无关的另一个按钮,则似乎“重置”了状态,并且按钮开始正常工作一段时间,直到表单验证失败。 这是整个XHTML。 我怀疑这是因为任何AJAX问题

非常感谢

<p:fieldset id="fs_new_po"
            widgetVar="fs_new_po"
            legend="#{msg['btn_add_po.manage_po']}"
            toggleable="true"
            toggleSpeed="500"
            collapsed="true">
    ....

    <p:column>
        <p:commandButton process="@this"
                         update=":mng_po:fs_new_po :mng_po:msgs"
                         value="#{msg['btnCancel']}" 
                         onclick="PF('fs_new_po').toggle();"
                         actionListener="#{managePO.btnCancelClick}"/>
    </p:column>
</p:row>
</p:panelGrid>

</p:fieldset>

...

<p:commandButton process="@this"
                 update=":mng_po:fs_new_po"
                 oncomplete="PF('fs_new_po').toggle();"
                 icon="ui-icon-pencil"
                 title="edit"
                 action="#{managePO.btnEditClick}">
    <f:setPropertyActionListener value="#{po}" target="#{managePO.selectedPo}"/>
</p:commandButton>

....
...

根据Tiny的建议,我只更新onclick事件中可能更改的字段集的内容

<p:fieldset id="fs_new_po"
        widgetVar="fs_new_po"
        legend="#{msg['btn_add_po.manage_po']}"
        toggleable="true"
        toggleSpeed="500"
        collapsed="true">
   //ADDED A CONTENT INSIDE THE FIELDSET TO BE UPDATED
   <p:panelGrid id="fs_cntnt">

....

   <p:column>
       //UPDATE JUST THE CONTENT OF THE FIELDSET
       <p:commandButton process="@this" update=":mng_po:fs_cntnt :mng_po:msgs" value="#   {msg['btnCancel']}" onclick="PF('fs_new_po').toggle();" actionListener="#{managePO.btnCancelClick}" />
   </p:column>
</p:row>
</p:panelGrid>

</p:fieldset>

...
 //UPDATE JUST THE CONTENT OF THE FIELDSET
<p:commandButton process="@this" update=":mng_po:fs_cntnt"  oncomplete="PF('fs_new_po').toggle();" icon="ui-icon-pencil" title="edit" action="#{managePO.btnEditClick}" >
                    <f:setPropertyActionListener value="#{po}" target="#{managePO.selectedPo}" />
                </p:commandButton>

//在要更新的字段集中添加了内容
....
//仅更新字段集的内容
...
//仅更新字段集的内容

谢谢你,蒂尼

太多的代码。请您隔离可能需要显示的可疑部分好吗?已编辑,抱歉,我认为任何信息都可能很重要。您是否在浏览器控制台上看到一些错误?不,控制台上没有错误,Thnx只有在其中一个
进行AJAX更新后,
才会停止工作,否则它会正常工作吗?如果是这样,请尝试仅更新该
的容器元素(通过在那些
update
属性中提及要更新的组件列表),并避免更新整个