Hi Christophe

Unfortunately this doesn't seem to work, although maybe I have missed
something. For example

@Component
private TextField techFirstName;

void afterRender() {
  logger.debug("techFirstName clientId: " + techFirstName.getClientId());
}

[DEBUG] pages.Order techFirstName clientId: null

I guess the problem is that the textField is nested in a block which is
rendered using javascript so although the page has completed it's rendering
the textField has not yet being rendered therefore it doesn't have a
clientId?

Toby

2009/10/5 cordenier christophe <christophe.corden...@gmail.com>

> Hello
>
> You'd better use a RenderSupport and @AfterRender to create a javascript
> method call that will link your checkbox with the copyDetails() method.
>
> Something like this, i guess :
>
> In a separate JS file injected via @IncludeJavascript
>
> copyDetails : function(techFirstId) {
> ....
> }
>
> linkDetails: function(checkBoxId){
>   $(checkBoxId).observer('click', ...);
> }
>
> And your page
>
> @Inject
> private RenderSupport renderSupport;
>
> @InjectComponent
> private TextField techFirstName;
>
> @AfterRender
> private void linkDetails(){
>   renderSupport.addScript('linkDetails(%s);' techFirstName.getClientId());
> }
>
> Regards.
>

Reply via email to