我正在尝试关联两个事件,一个是对将返回字符串消息的bean的ajax调用。第二个事件是在获取数据时显示模态进度条。这两个事件与rich:componentControl相关联。借助javascript更新进度值。 问题 但是,在commandButon Click事件中,尚未启动对bean方法的调用。因为我无法在Chrome的Web检查器上看到ajax调用。详细说明commandButton的action属性未被启动。
感谢Adv。 下面是代码。 下面是更新的js脚本
var counter = 10;
var maxLimit = 100;
var intervalTimeID;
/*#{rich:component('progressBar')}.enable();*/
function updateProgressBar(i)
{
counter = counter +10;
#{rich:component('progressBar')}.setValue(counter);
if(counter > maxLimit)
{
counter = 10;
#{rich:component('progressBar')}.disable();
#{rich:component('dialogProgressBar')}.hide();
}
}
function startProgressBar()
{
#{rich:component('progressBar')}.enable();
#{rich:component('progressBar')}.setValue(counter);
intervalTimeID = setInterval(updateProgressBar,1000);
}
function resetProgressBar()
{
console.log("ResetProgressBar");
EnableAjaxCall();
#{rich:component('progressBar')}.disable();
#{rich:component('progressBar')}.setValue(-1);
clearInterval(intervalTimeID);
#{rich:component('progressBar')}.disable();
#{rich:component('dialogProgressBar')}.hide();
}
xhtml页面代码
<div class="content" id="pc10">
<h:form id="Form1">
<a4j:commandButton id="msgButton" value="Message" action="#{takersDTO.message()}" render="messages">
<rich:componentControl attachTo="msgButton" target="dialogProgressBar" operation="show" event="click"/>
</a4j:commandButton>
<h:messages id="messages"/>
</div>
<rich:popupPanel id="dialogProgressBar" modal="true" onshow="startProgressBar()" width="250" height="80" resizable="true" >
<f:facet name="header">
<h:outputText value="Please wait Loading Information"/>
</f:facet>
<rich:progressBar id="progressBar" mode="client" value="-1" onfinish="resetProgressBar()" >
<f:facet name="initial" >
<h:outputText value="Please Wait Loading Information..."/>
</f:facet>
<f:facet name="finish">
<h:outputText value="Information Loaded Successful"/>
</f:facet>
<f:facet name="complete">
<h:outputText value="Completed Information Loaded Successful"/>
</f:facet>
</rich:progressBar>
</rich:popupPanel>