Problem using JSF input components with DataList
------------------------------------------------

         Key: MYFACES-716
         URL: http://issues.apache.org/jira/browse/MYFACES-716
     Project: MyFaces
        Type: Bug
    Versions: Nightly    
    Reporter: Vinnie Fazio


I was using the Tomahawk 20050912 nightly build when I first noticed this bug.  
I have since upgraded to the nightly build from 20051017 and am experiencing 
the same issue.

THE PROBLEM:
=============

Here is the JSF I am using:
<f:subview id="results">
    <h:form>
            <x:dataList value="#{myList}" var="current" layout="orderedList" >
                <h:selectBooleanCheckbox value="#{current.selected}"/>
                <h:commandLink action="#{current.display}">
                    <h:outputText value="#{current.name}"/>
                </h:commandLink>
            </x:dataList>
    </h:form>
</f:subview> 

ADDITIONAL INFO
===============

The html seems to be look OK, but when I select an item (either the link or the 
checkbox) and the form is submitted, the value referenced is always the first 
value from the list.  A closer look at the HTML source shows that all the ids 
(names) generated are the same...

<li><input type="checkbox" name="results:_id27:_id43:_id44" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:_id45';
 document.forms['results:_id27'].submit(); return false;">Value1</a></li>
<li><input type="checkbox" name="results:_id27:_id43:_id44" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:_id45';
 document.forms['results:_id27'].submit(); return false;">Value2</a></li>
<li><input type="checkbox" name="results:_id27:_id43:_id44" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:_id45';
 document.forms['results:_id27'].submit(); return false;">Value3</a></li>

If I change the datalist to a h:datatable I get html with unique ids and all 
the links work correctly.  For instance...
<tr>
<td><input type="checkbox" name="results:_id27:_id43:0:_id45" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:0:_id46';
 document.forms['results:_id27'].submit(); return false;">Value1</a></td>
</tr>
<tr>
<td><input type="checkbox" name="results:_id27:_id43:1:_id45" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:1:_id46';
 document.forms['results:_id27'].submit(); return false;">Value2</a></td>
</tr>
<tr>
<td><input type="checkbox" name="results:_id27:_id43:2:_id45" /><a href="#" 
onclick="document.forms['results:_id27']['results:_id27:_idcl'].value='results:_id27:_id43:2:_id46';
 document.forms['results:_id27'].submit(); return false;">Value3</a></td>
</tr>


I HAVE TRIED
============
- I have tried setting the forceIDIndex field to true and it did not change 
anything.
- I noticed in similar bug that the user posted a workaround of surrounding the 
input components with <h:column>, but that did not work either. 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to