入力テキスト領域とコマンドボタン「送信」を含むprimefacesダイアログがあります。
ボタン「拒否」を含むフォームがあり、フォームはタブビュー内にあります。ユーザーが「拒否」ボタンをクリックすると、ユーザーが拒否の理由を入力するためのダイアログ「rejectDialog」を表示します。ユーザーがコメントを入力し、ダイアログの送信ボタン「submitButton」をクリックすると、Bean でアクション メソッドが呼び出され、コメントの値が更新されます。JavaScript メソッドを呼び出す oncomplete 属性があります。アクション メソッドが完了すると、javascript メソッドは実行されず、ダイアログ ボックスが閉じられます。アクションは正常に実行され、エラーは発生しません。oncomplete を onsuccess に置き換えてみましたが、それでも javascript メソッドは実行されません。
ダイアログ内で oncomplete で javascript が呼び出されない理由を知りたいですか?
また、oncomplete 属性にアラートだけを追加しようとしましたが、それでもアラートは実行されません。
コードは以下に添付されています。
XHTML ページ
<p:dialog id="rejectDialog" header="Enter Comments"
hideEffect="explode" showEffect="explode"
resizable="false" widgetVar="rejectDlg"
style="background: #bcbcbc !important;"
>
<h:panelGrid columns="1" cellpadding="0" cellspacing="2"
styleClass="commentsPanel"
id="dialogpanelgrid">
<p:outputLabel for="rejectComments" value="Enter Comments *: "
style="font-weight: bold;">
</p:outputLabel>
<p:inputTextarea cols="40" rows="4" autoResize="false"
id="rejectComments" styleClass="rejectCommentsCls"
value="#{requestDetailsMB.rejectCommentsDesc}"
style="background: lightgray !important; color:#000 !important;"
widgetVar="txtreject"
>
<f:validator validatorId="commentsValidator"></f:validator>
</p:inputTextarea>
<h:outputLabel id="rejectCommentsMessage" class="rejectCommentsMsg" value=""
style="color:red !important; font-weight: bold;">
</h:outputLabel>
</h:panelGrid>
<p:commandButton id="submitButton"
style="margin-top: 15px; float:right;"
value="Submit"
onclick="return validate();"
action="#{requestDetailsMB.rejectRequest}"
oncomplete="performRejectAction();"
/>
</p:dialog>