未从primefaces对话框调用客户端回调

未从primefaces对话框调用客户端回调,primefaces,dialog,Primefaces,Dialog,我有一个primefaces对话框,其中包含一个输入文本区域和一个命令按钮“提交” 我有一个表单,其中包含一个按钮“拒绝”,该表单位于选项卡视图中。当用户单击“拒绝”按钮时,我将显示“拒绝对话框”,供用户输入拒绝原因。一旦用户输入注释并单击对话框中的提交按钮“submitButton”,就会在bean中调用一个操作方法来更新注释值。我有一个调用javascript方法的oncomplete属性。操作方法完成后,javascript方法将永远不会执行,对话框将关闭。操作成功执行,我没有收到任何错误

我有一个primefaces对话框,其中包含一个输入文本区域和一个命令按钮“提交”

我有一个表单,其中包含一个按钮“拒绝”,该表单位于选项卡视图中。当用户单击“拒绝”按钮时,我将显示“拒绝对话框”,供用户输入拒绝原因。一旦用户输入注释并单击对话框中的提交按钮“submitButton”,就会在bean中调用一个操作方法来更新注释值。我有一个调用javascript方法的oncomplete属性。操作方法完成后,javascript方法将永远不会执行,对话框将关闭。操作成功执行,我没有收到任何错误。我还尝试用onsuccess替换oncomplete,但javascript方法仍然从未执行过

我想知道为什么在对话框的oncomplete中从来没有调用javascript

我还尝试在oncomplete属性中只添加一个警报,但仍然从未执行该警报

代码附在下面

XHTML页面
在将javascript放入
命令按钮的
onclick
事件之前,我遇到过一些问题。javascript可以覆盖primefaces的行为,这可能就是为什么没有执行
oncomplete
。我建议您改用
onstart
事件:

<p:commandButton id="submitButton" 
    style="margin-top: 15px; float:right;" 
    value="Submit"
    onstart="return validate();"
    action="#{requestDetailsMB.rejectRequest}"
    oncomplete="performRejectAction();" /> 


感谢您提供的解决方案。我按照你的建议做了改变,效果很好。我很高兴这有帮助!请把这个答案标记为“接受”和“投票”,以便其他人知道这是答案。
<p:commandButton id="submitButton" 
    style="margin-top: 15px; float:right;" 
    value="Submit"
    onstart="return validate();"
    action="#{requestDetailsMB.rejectRequest}"
    oncomplete="performRejectAction();" />