2014-12-29 1 views
1

Я хочу развернуть/свернуть набор полей от кнопок, которые находятся снаружи и внутри поля, проблема в том, что не всегда эффект является желательным. Несколько раз полевая панель расширяется и кратковременно свертывается, иногда она всегда остается открытой. Однако если щелчок на другой кнопке, которая не связана с набором полей, кажется, что «перезагрузить» состояние, и кнопки начинают работать нормально какое-то время, пока, к примеру, когда проверка формы не удастся. Вот и весь XHTML. Я подозреваю, что это из-за каких-либо AJAX выпускToggle p: fieldset from another button

Большое спасибо заранее

<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> 
+1

Слишком много кода. Не могли бы вы изолировать подозрительную часть, которая может понадобиться для показа? – Tiny

+0

Отредактировано, Извините, я думал, что любая информация может быть важна –

+0

Вы видите некоторые ошибки на консоли браузера? – Tiny

ответ

1

По предложению Крошка, я обновить OnClick событие только содержание FIELDSET, которые могут быть изменения.

<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> 

Спасибо, крошечный!

 Смежные вопросы

  • Нет связанных вопросов^_^