PrimeFaces在JSF <h:commandbutton> </h:commandbutton>中的oncomplete属性

时间:2013-04-04 08:13:12

标签: jsf jsf-2

我在标准JSF oncomplete中的PrimeFaces中的某些标签中找不到<h:commandButton>属性。

如何在使用<h:commandButton>时获得类似功能不完整的功能?

1 个答案:

答案 0 :(得分:10)

由于primefaces oncomplete等同于普通的JSF success事件(有关详细信息,请查看this answer comments,您应该按以下方式使用success事件:

内联解决方案

<h:commandButton id="someId" action="#{myBean.myAction}">
    <f:ajax onevent="function(data) { if (data.status === 'success') { alert('complete'); }"
        render="whatevet"></f:ajax>
</h:commandButton>

另一个更清洁的解决方案是使用js功能

<h:commandButton id="someId" action="#{myBean.myAction}">
    <f:ajax onevent="myJsFunction"
        render="whatevet"></f:ajax>
</h:commandButton>

在你的js文件中添加

function myJsFunction(data) {
    if (data.status === 'success') {
         alert('complete');
    }
}

如果您正在寻找一种方法来检测非ajax提交的完成情况,您可以从这里采用以下想法Detecting the File Download Dialog In the Browser


最简单的解决方案是使用

$(document).ready(function () {
// check if some condition is meet and do something...
});