[ 
https://issues.apache.org/jira/browse/MYFACES-2715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867394#action_12867394
 ] 

Werner Punz edited comment on MYFACES-2715 at 5/14/10 1:23 AM:
---------------------------------------------------------------

Ok I fixed the issue on my side however there still is a problem there, we have 
to render an id if an onclick handler is set
it would be even better to always render an id.

The problem is <a href=".."jsf.ajax.request(this" />
will issue a window as source root, however we have to pass the issuing dom 
element to determine its parent form.

 I will adjust my code also to check for the event source if the parent form is 
not determinable by the source here.
Expect the fixup with the big refactoring commit sometime today.

Anyway I did a quick testrun, and mojarra also bends the spec here by taking 
the event object into consideration if 
no identifier on the issuing element is given:

following code produces following result

<h:commandLink value="xxx" 
onclick="jsf.ajax.request(this,event,{execute:'@this', render:'b'} ); return 
false;" />

<a href="#" 
onclick="jsf.util.chain(this,event,'jsf.ajax.request(this,event,{execute:\'@this\',
 render:\'b\'} ); return 
false;','mojarra.jsfcljs(document.getElementById(\'b\'),{\'j_idt15\':\'j_idt15\'},\'\')');return
 false">xxx</a>

b       b
javax.faces.ViewState   8626977924605851210:-14735535136190249
javax.faces.partial.ajax        true
javax.faces.partial.event       click
javax.faces.partial.execu...    
javax.faces.partial.rende...    b
javax.faces.source      
search4

The request clearly indicates that the source form was determined outside of 
the spec by using also
the event object as fallback here. 
So the spec here again, is at fault, I will file a bugreport on this one on the 
spec side, and as I said I will fix it to
reflect mojarras behavior (I already did) because it simply makes sense, to do 
it to cover those corner cases.



      was (Author: werpu):
    Ok I fixed the issue on my side however there still is a problem there, we 
have to render an id if an onclick handler is set
it would be even better to always render an id.

The problem is <a href=".."jsf.ajax.request(this" />
will issue a window as source root, however we have to pass the issuing dom 
element to determine its parent form.

 I will adjust my code also to check for the event source if the parent form is 
not determinable by the source here.
(I am not sure how mojarra deals with all this but in either way)

  
> CommandLink didnt have id by default, will cause ajax problem
> -------------------------------------------------------------
>
>                 Key: MYFACES-2715
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2715
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.0
>            Reporter: Mark Li
>
> <h:commandLink/>
> will output
> <a hre="#" onclick="om..."/>
> not id by default.
> I think it will cause ajax problem.
> suggestion:
> in HtmlLinkRendererBase.java
> should use  HtmlRendererUtils.writeIdAndName(writer, component, 
> facesContext);(or other stuff can add id attribute)
> instead of 
> HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to