Hello, there is no onComplete in the specification, because you won´t
need it, the specification defines an event system where you can
register your own listeners, with then you can check whether a request
is complete or not.
You can use the jsf.ajax.addOnEvent method to register your own
listener. (respectively jsf.ajax.addOnError for error listeners)
Alternatively you can pass the listener in the request parameters (if
you just need it for a single request)
<commandButton id="button1" value="submit"
onclick="jsf.ajax.request(this,event,
{execute:'button1',render:'status',onevent: handleEvent,onerror:
handleError});return false;"/>
</commandButton/>
The event listener function gets passed an object and that one has the
attribute status, which shows the status of the current request.
The status shows the status of the currently running request you can use
that one for your onComplete.
Here is a small example for an onEvent listener
var processEvent = function processEvent(data) {
if (data.status == "begin") {
alert('Begin');
} else if (data.status == "complete") {
alert('Complete');
} else if (data.status == "success") {
alert('Success');
}
}
jsf.ajax.addOnEvent(processEvent);
So as you can see an onComplete is not really needed although the api is
a little bit more low level (which is ok for a spec) it achieves the same.
Have in mind the current spec does not allow the deregistration of
listeners, so either use the local ones, or just use one global one for
the effect you want to achieve.
Cheers
Werner
Am 25.03.10 07:38, schrieb Mark Li:
I cant find oncomplete like method in jsf.ajax.request specification(314), or
in the js source code ?
Can myfaces 2 support this method?
Best Regard
Mark Li
[email protected]