我有一个 primefaces 对话框,其中包含一个输入文本区域和一个命令按钮“提交”。
我有一个包含“拒绝”按钮的表单,该表单位于 Tabview 内。当用户单击“拒绝”按钮时,我会显示对话框“rejectDialog”供用户输入拒绝原因。一旦用户输入评论并单击对话框中的提交按钮“submitButton”,就会在 bean 中调用一个操作方法来更新评论值。我有一个调用 javascript 方法的 oncomplete 属性。action 方法完成后,javascript 方法不再执行,对话框关闭。该操作成功执行,我没有收到任何错误。我也尝试用 onsuccess 替换 oncomplete,但仍然没有执行 javascript 方法。
我想知道为什么在对话框中从不完整地调用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>