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

Werner Punz commented on MYFACES-2599:
--------------------------------------

Ok another issue I noticed is following the f:ajax tag renders to 
jsf.ajax.request('testForm:test',event,{render:'testForm:test2','javax.faces.behavior.event':'valueChange'})
 in case of a detachement accoprding to the spec this clearly causes an error, 
here the spec section:

# If the source argument is a string, find the DOM element for that string 
identifier.
# If the DOM element could not be determined, throw an error.

from the jsdoc reference from jsf.ajax.request

either our f:ajax tag is false here and we simply should render  
jsf.ajax.request(this, or mojarra is at fault here by simply ignoring this 
limitation.
In any case if a node is passed the request has to go through and how the 
parent form is determined is also up to us.

So my fixes are valid, but I am not sure if we do not also have a problem with 
f:ajax, what does mojarra render  in this case?



> ajax javascript checks for existence of triggering html element
> ---------------------------------------------------------------
>
>                 Key: MYFACES-2599
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2599
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.0-beta-2
>         Environment: Javascript
>            Reporter: Ganesh Jung
>
> This one is a bit special. I remove the triggering element from the DOM, 
> afterwards I trigger it's onchange method. Works with Mojarra, but MyFaces 
> insists, that the triggering element must exist in the DOM, though this isn't 
> necessary from the spec.
>               <h:form id="testForm">
>                       <h:inputText id="test" value="#{myBean.test}" >
>                               <f:ajax render="test2"/>
>               </h:inputText>
>                       <h:inputText id="test2" value="#{myBean.test}" />
>                   <script type="text/javascript">
>                               //<![CDATA[
>                       var myTest = document.getElementById("testForm:test");
>                       var test_onchange = myTest.onchange;
>                       myTest.parentNode.removeChild(myTest);
>                       test_onchange();
>                               //]]>
>                       </script>
>               </h:form>

-- 
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