Hi,
if component is represented on client like:
<span id="clientId">
<label id="clientId_label" for="clientId_input" > a Label </label>
<input id="clientId_input" onchange="jsf.ajax.request(...execute:
'@this' ...)"
</span>
what will be in HTTP reuqest? execute = "clientId_input" - but this is
only internal part of the component, not id of component on the server
so no component is executed.
What I need is :
<input id="clientId_input" onchange="jsf.ajax.request(...execute:
'cliendId' ...)"
= clientId of component in execute. But if I use f:ajax like this:
<mkk:mySuperComponent>
<f:ajax execute="@this" />
</mkk:mySuperComponent>
ajax behaviour renderer renders '@this' as pass thru value. What I
really need is:
if ("@this".equals(executeItem)) {
executeItem = clientBehaviorContext.getComponent().getCliendId()
}
Similar for render attribute.
Spec. says: "@this = The element that triggered the request". Thats very
unclear: specification uses 'element' word in two contexts: DOM element
and XHTML element.
Mojarra 2.0.3 renders '@this' as pass through too.
WDYT ?
Kočičák