[ https://issues.apache.org/jira/browse/OFBIZ-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Blas Rodriguez Somoza updated OFBIZ-3737: ----------------------------------------- Attachment: OFBIZ-3737_widgetmulti_xhtml_v2.diff > XHTML Validation - Form Widget with type= list|multi and inner form renders > bad markup with visible effects > ----------------------------------------------------------------------------------------------------------- > > Key: OFBIZ-3737 > URL: https://issues.apache.org/jira/browse/OFBIZ-3737 > Project: OFBiz > Issue Type: Sub-task > Components: framework > Affects Versions: SVN trunk > Reporter: Blas Rodriguez Somoza > Priority: Minor > Fix For: SVN trunk > > Attachments: OFBIZ-3737_after.jpg, OFBIZ-3737_before.jpg, > OFBIZ-3737_widgetmulti_xhtml_v2.diff > > > The markup rendered for form widgets with inner fields are (this is the rows > sample, but the header is the same): > 1.- With separate columns == true (wrong render) > * <td....> generated by macro renderFormatItem{color:red} > RowFormCell{color}Open > ** <form ....> > ** <input type="hidden" .../> > ** <input type="hidden" .../> > ** <td> generated by macro renderFormatItem{color:red}RowCell{color}Open > *** cell content 1 > ** </td> generated by renderFormatItem{color:red}RowCell{color}Close > ** <td> generated by macro renderFormatItem{color:red}RowCell{color}Open > *** cell content 2 > ** </td> generated by renderFormatItem{color:red}RowCell{color}Close > *** ... > ** </form> > * </td>generated by renderFormatItem{color:red}RowFormCell{color}Close > 2.- With separateColumns == false (renders OK) > * <td....> generated by macro > renderFormatItem{color:red}RowFormCell{color}Open > ** <form ....> > ** <input type="hidden" .../> > ** <input type="hidden" .../> > *** cell content 1 > *** cell content 2 > *** ... > ** </form> > * </td>generated by renderFormatItem{color:red} RowFormCell{color}Close > The render with separate columns is not only invalid from html POV, but also > have a visible effect (see screenshots) > In the screenshot can be seen a ghost column, which is generated by the > browser parser when it closes the unclosed initial td. > The solution is > * Change the RowFormCell macros to render nothing in html > * Modify the code to add open and close of {color:red}RowCell{color} when > separateColumns is false > Although this patch don't solve the issue about form being inside tr, it > simplifies the problem and avoid the visual effects. > The new rendering will be: > When separateColumns == true (removed ItemRowFormCell macros) > ** <form ....> > ** <td> generated by macro renderFormatItem{color:red}RowCell{color}Open > *** <input type="hidden" .../> > *** <input type="hidden" .../> > *** cell content 1 > ** </td> generated by renderFormatItem{color:red}RowCell{color}Close > ** <td> generated by macro renderFormatItem{color:red}RowCell{color}Open > *** cell content 2 > ** </td> generated by renderFormatItem{color:red}RowCell{color}Close > *** ... > ** </form> > When separateColumns == false (replaced ItemRowFormCell macros with > ItemRowCell) > ** <form ....> > ** <td> generated by macro renderFormatItem{color:red}RowCell{color}Open > (Changed) > *** <input type="hidden" .../> > *** <input type="hidden" .../> > *** cell content 1 > *** cell content 2 > *** ... > ** </td> generated by renderFormatItem{color:red}RowCell{color}Close (Changed) > ** </form> > Tested with ff 3.5 Opera 10 Chrome 4.1 and IE 7 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.