Hi Jakob,

I feared this. 
I used "this" often in dynamic expressions returned from managed beans to do 
some client side stuff e.g. 

getOnclick(){
  doit(this);
}

"From my point of view it would be great if myfaces would replace »this« with 
»document.getElementById('clienId')« automatically."

This would be a great improvement! 
+1 from my side.

Michael


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of 
Jakob Korherr
Sent: Montag, 4. Januar 2010 16:05
To: MyFaces Discussion
Subject: Re: javascript problem with commandlink and onclick after update to 
JSF 1.2

Hi Michael,

Unfortunately I don't think it is possible to refer to the clicked link
inside the function definition. The only way I know is to use
document.getElementById('...').

»How is the id of the commandLink placed into oamSubmitForm as parameter?«
The renderer of the command link generates this javascript and so it puts
the id there.

From my point of view it would be great if myfaces would replace »this« with
»document.getElementById('clienId')« automatically. However, I don't know if
this violates the jsf 1.2 spec.

Regards,
Jakob

2010/1/4 Michael Heinen <[email protected]>

> Hi,
>
> I have another problem after my update from myfaces 1.1.5 to 1.2.8.
> I cannot use "this" anymore in onclick attributes of commandLinks due to
> changed rendering of commandLinks. Instead of the link the outer form is
> accessed via "this".
>
> sample:
> <h:form id="tabform" ...>
> <t:commandLink id="tabTemplates" forceId="true"
>               onclick="alert(this.id);"
>               action="#{...}">
>
> output with 1.1.5: tabTemplates
> output with 1.2.8: tabform
>
> rendered html onclick attributes:
> myfaces 1.2.8: onclick=var cf = function(){alert(this.id);var oamSF =
> function(){return oamSubmitForm('tabform','tabTemplates');};return
> (cf()==false)? false : oamSF();
> myfaces 1.1.5: onclick=alert(this.id);
>
> One workaround is something like this:
> onclick="var me1=getObj('tabTemplates'); alert(m1);"
>
> This change is unfortunately really expensive and error-prone for me
> because I used this construct more than hundred times and often it is
> generated dynamically :-(
>
> Is there any other workaround or trick to access the clicked link in the
> onclick attribute via javascript inside a function definition?
> How is the id of the commandLink placed into oamSubmitForm as parameter?
>
> Michael
>

Reply via email to