0

このコードに問題があります。別の facelet に移動する前に popupPanel を表示してアクションを実行しようとしています。問題は、新しい facelet がレンダリングされる前にポップアップが表示されることです。何か関係があると思います。非同期呼び出しを使用していますが、修正方法がわかりません。

ありがとう

                <h:outputText value="Do you want to save your changes?"/>
                <br/><br/><br/>
                <a4j:region id="panel-region">
                        <h:commandButton action="#{saveReminderBackingBean.saveBundle}" value=" Yes " onclick="#{rich:component('savePopupPanel')}.hide();bm.showLoading()" styleClass="pnx-btn pnx-btn-secondary " style="padding-left:8px;padding-right:8px"/>
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        <h:commandButton action="#{saveReminderBackingBean.clearFlags}" value="No" onclick="#{rich:component('savePopupPanel')}.hide();bm.showLoading()" styleClass="pnx-btn pnx-btn-secondary " style="padding-left:8px;padding-right:8px"/>

                </a4j:region>
                <br/>
                </div>
            </rich:popupPanel>

4

1 に答える 1

0

<h:commandButton/>完全な JSF POST リクエストをトリガーするため、リクエストの最後にページ全体がレンダリングされると、作成および表示されたポップアップが自動的に閉じられます。

コマンド ボタンを<a4j:commandButton/>

    <a4j:commandButton action="#{saveReminderBackingBean.saveBundle}" value=" Yes " onclick="#{rich:component('savePopupPanel')}.hide();bm.showLoading()" styleClass="pnx-btn pnx-btn-secondary " style="padding-left:8px;padding-right:8px"/>
                    &nbsp;&nbsp;&nbsp;&nbsp;
    <a4j:commandButton action="#{saveReminderBackingBean.clearFlags}" value="No" onclick="#{rich:component('savePopupPanel')}.hide();bm.showLoading()" styleClass="pnx-btn pnx-btn-secondary " style="padding-left:8px;padding-right:8px"/>

<a4j:commandButton/>、完全なリクエストではなく、部分的なリクエストをトリガーします。その結果、ページはリロードされず、ポップアップは開いたままになります

于 2013-08-15T05:53:15.277 に答える