【发布时间】:2014-10-23 22:33:15
【问题描述】:
我尝试在 bean 验证完成并隐藏对话框后更新我的日程安排,但它不起作用。隐藏对话框可以但不更新。
<p:commandButton id="addButton" value="Save"
actionListener="#{planningController.addEvent}"
oncomplete="if (!args.validationFailed){PF('eventDialog').hide(); PF('schedule').update();}"/>
</p:commandButton>
【问题讨论】:
-
向我们展示您的更新功能。您在控制台中看到任何错误吗?
-
您好,我没有个性化更新功能,只是刷新日程。如果我只使用 PF('schedule').update();没有隐藏功能,它工作正常。控制台没有错误。
-
在这种情况下,您可以尝试创建一个保存您的两个调用的函数:
function completed() { PF('eventDialog').hide(); PF('schedule').update(); }并在oncomplete="if (!args.validationFailed){ completed(); }"中使用它 -
是的,这是一个很好的想法,但不起作用:/。最后我不确定 PF('schedule').update() 是否正常工作。也许我可以在我的听众中使用类似“RequestContext.getCurrentInstance().update”的东西?但我不知道...
-
如果您只是想刷新您的视图,您可以在
oncomplete中调用一个 ajax,或者您可以在您的 bean 操作中将用户重定向到一个视图(如果需要,可以使用相同的视图)。
标签: jquery jsf-2 primefaces hide commandbutton