0

登録フォームに次のコードがあります。基本的に、ボタンはアクション(EjbメソッドとユーティリティメソッドであるActionリスナー)を呼び出します。ユーザーが登録フォームを送信すると、登録が処理されていることをユーザーに通知するprimefacesダイアログが表示されます。フォームが送信されると、同じダイアログが消えます。これは、PrimefacesUIBlockによって実現できます。ただし、commandButtonをajax対応にする必要があります。

:onstart =モーダルダイアログと成功を表示するか、完了時に=このダイアログを非表示にする(<p:dialog widgetVar="dialog" ...)を使用することを考えましたが、このソリューションでは、primefacescommandButtonに対してajaxを有効にする必要があります。

PrimeFacesコマンドボタン内でajaxをfalseに設定しているときに、これをどのように達成できるかについての手がかりはありますか?

ありがとう

<h:form id="form_register">
            <p:panel id="panel_register">
<div align="center" style="padding: 5px;">
                    <p:commandButton id="register" ajax="true"
                        actionListener="#{mailBean.deliverEmail(newMember.email,newMember.name, newMember.username, newMember.password, newMember.isadmin)}"
                        action="#{memberController.register}" value="Register"
                        label="Register">
                        <f:setPropertyActionListener target="#{requestScope.wait}"
                            value="#{true}" />
                    </p:commandButton>
                </div>

<p:blockUI block="panel_register" trigger="register">
                    <h:outputText value="Please wait..." />
                    <br />
                    <p:graphicImage value="#{resource['gfx/gif.gif']}" />
                </p:blockUI>

編集:みんなありがとう。commandButtonの属性の更新を誤用していました。今、物事はうまくいきます。

4

1 に答える 1

0

ダイアログを表示/非表示にするには、onstartアクションとoncompleteアクションを使用する必要があります。

<p:commandButton id="register" onstart="dlg.show()" oncomplete="dlg.hide()" />
于 2013-02-04T19:18:32.720 に答える