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