Java 使用;“未完成”;在commandButton中,即使onclick为空?
在JSF2项目中,id为“displayDialog”的commandButton是隐藏的。它由javascript函数触发:Java 使用;“未完成”;在commandButton中,即使onclick为空?,java,jsf,primefaces,Java,Jsf,Primefaces,在JSF2项目中,id为“displayDialog”的commandButton是隐藏的。它由javascript函数触发: document.getElementById('displayDialog').click(); 问题是,我需要在“oncomplete”阶段执行单击操作,而不是“onclick”(原因由@BalusC解释) 我试着做: <p:commandButton style="display: none" id="displayDialog" type="b
document.getElementById('displayDialog').click();
问题是,我需要在“oncomplete”阶段执行单击操作,而不是“onclick”(原因由@BalusC解释)
我试着做:
<p:commandButton style="display: none" id="displayDialog" type="button" onclick="" oncomplete="cd.show();"/>
或
但在这两种情况下,都不会执行cd.show()操作。如何做到这一点
(我是否应该在onclick属性中添加一个伪操作?如果是,是哪一个?在ajax请求之后调用
oncomplete
方法,并且当您说type=“button”
时,不会发出ajax请求
也就是说,只需删除type=“button”
参数,就不必实现onclick
<p:commandButton style="display: none"
id="displayDialog"
oncomplete="cd.show();"/>
但是,您真的需要从JavaScript函数调用该按钮吗?如果有另一个组件发出第一个请求,您不能实现该组件的
oncomplete
方法吗
在您的代码中,p:commandButton
根本没有任何操作,那么您为什么需要等待操作完成?你是在提交表格还是什么
如果您准确地解释了您想要做什么,我们可以想出更好的方法。执行ajax请求后将调用
oncomplete
方法。在这两个示例中,没有执行ajax请求,因此您的oncomplete
方法将永远不会运行。请注意,第二个示例是您所能做的最糟糕的事情,因为该按钮永远不会提交请求。thx!我可以在onclick方法中放入什么样的伪/假/无效ajax请求,以便在之后触发oncomplete方法?甚至不要编写onclick
方法。只需将oncomplete
。在a4j库中尝试。
<p:commandButton style="display: none"
id="displayDialog"
oncomplete="cd.show();"/>