0

SA と Primefaces フォーラムで同様の質問を読みましたが、役に立ちませんでした。ここにxhtmlがあります:

<h:form id="form2" prependId="false">
    <p:remoteCommand name="sendNameClicked" actionListener="#{reportBean.passName}"/>
    <p:remoteCommand name="updateDialog" update=":form3:dialogBox"/>

    <p:commandButton style="display: none" id="displayDialog" type="button" onclick="cd.show(); return false;"/>
</h:form>
<h:form id="form3">
    <p:confirmDialog id ="dialogBox" message= "#{reportBean.getClickedAuthorLaius()}"
                     header="#{reportBean.nameClicked}#{reportBean.authorClicked.mostRecentAffiliation}"
                     widgetVar="cd"
                     severity="info"
                     >
        <h:outputText styleClass="ui-widget"  value="" escape="false" />
        <p:commandButton value="Draw the ring of #{reportBean.obtainFullName()}?" actionListener ="#{controllerBean.prepareNewSearch()}" action ="index?faces-redirect=true" oncomplete="cd.hide();"/>
        <p:commandButton value="No, stay on this page" onclick="cd.hide();" type="button" />
    </p:confirmDialog>
</h:form>

どんな助けでも大歓迎です!

4

1 に答える 1

2

onclick、フォーム送信リクエストが送信される前に発生します。updateフォーム送信応答が到着した後に実行されます。そのため、確認ダイアログは開いた後に更新され、デフォルトの外観に戻ります。

アップデートに開く必要があります。oncompleteの代わりに属性を使用しますonclick

<p:commandButton ... oncomplete="cd.show()"/>
于 2012-10-27T14:45:16.057 に答える