You can always wrap the hidden tags in your own table row/etc. That's probably something that could be corrected in the "xhtml" theme.
On Thu, Mar 6, 2014 at 8:13 AM, Fredrik Andersson <fredan...@hotmail.com>wrote: > Hello guys! > > I trying to produce a app that renders in XHTML. > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml"> > > How ever I got a form looking like this: > > <s:form action="productcommentssave"> > <s:textfield name="productComment.emailAddress" label="Email address" > labelposition="top" maxlength="128" size="40" /> > <s:textfield name="productComment.subject" label="Subject" > labelposition="top" maxlength="128" size="40" /> > <s:textarea name="productComment.text" label="Message (max 1024 chars)" > cols="52" rows="5" labelposition="top" wrap="hard"/> > <s:submit /> > <s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" > value="%{formToken}" /> > <s:hidden name="productid" value="%{product.id}" /> > </s:form> > > This gets rendered like: > 25 <form id="productcommentssave" name="productcommentssave" > action="/productcommentssave.action" method="post"> > 26 <table class="wwFormTable"> > 27 <tr> > 28 <td align="left" valign="top" colspan="2"><label > for="productcommentssave_productComment_emailAddress" class="label">Email > address:</label></td> > 29 </tr> > 30 <tr> > 31 <td > 32><input type="text" name="productComment.emailAddress" size="40" > maxlength="128" value="" > id="productcommentssave_productComment_emailAddress"/></td> > 33 </tr> > 34 > 35 > 36 <tr> > 37 <td align="left" valign="top" colspan="2"><label > for="productcommentssave_productComment_subject" > class="label">Subject:</label></td> > 38 </tr> > 39 <tr> > 40 <td > 41><input type="text" name="productComment.subject" size="40" > maxlength="128" value="" > id="productcommentssave_productComment_subject"/></td> > 42 </tr> > 43 > 44 > 45 <tr> > 46 <td align="left" valign="top" colspan="2"><label > for="productcommentssave_productComment_text" class="label">Message (max > 1024 chars):</label></td> > 47 </tr> > 48 <tr> > 49 <td > 50><textarea name="productComment.text" cols="52" rows="5" wrap="hard" > id="productcommentssave_productComment_text"></textarea></td> > 51 </tr> > 52 > 53 > 54 <tr> > 55 <td colspan="2"><div align="right"><input type="submit" > id="productcommentssave_0" value="Submit"/> > 56 </div></td> > 57</tr> > 58 > 59 > 60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" > value="1394108222515" > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/> > 61 <input type="hidden" name="productid" value="3" > id="productcommentssave_productid"/> > 62 </table></form> > > From http://validator.w3.org/#validate_by_input+with_options I validate > it and get these 3 anoying errors: > > Error Line 50, Column 63: there is no attribute "wrap" > ...Comment.text" cols="52" rows="5" wrap="hard" > id="productcommentssave_productCo... > You have used the attribute named above in your document, but the document > type you are using does not support that attribute for this element. This > error is often caused by incorrect use of the "Strict" document type with a > document that uses frames (e.g. you must use the "Transitional" document > type to get the "target" attribute), or by using vendor proprietary > extensions such as "marginheight" (this is usually fixed by using CSS to > achieve the desired effect instead). > This error may also result if the element itself is not supported in the > document type you are using, as an undefined element will have no supported > attributes; in this case, see the element-undefined error message for > further information. > How to fix: check the spelling and case of the element and attribute, > (Remember XHTML is all lower-case) and/or check that they are both allowed > in the chosen document type, and/or use CSS instead of this attribute. If > you received this error when using the <embed> element to incorporate flash > media in a Web page, see the FAQ item on valid flash. > > Error Line 60, Column 161: document type does not allow element "input" > here > ...1394108222515" > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/> > The element named above was found in a context where it is not allowed. > This could mean that you have incorrectly nested elements -- such as a > "style" element in the "body" section instead of inside "head" -- or two > elements that overlap (which is not allowed). > One common cause for this error is the use of XHTML syntax in HTML > documents. Due to HTML's rules of implicitly closed elements, this error > can create cascading effects. For instance, using XHTML's "self-closing" > tags for "meta" and "link" in the "head" section of a HTML document may > cause the parser to infer the end of the "head" section and the beginning > of the "body" section (where "link" and "meta" are not allowed; hence the > reported error). > > Error Line 61, Column 93: document type does not allow element "input" here > ...t type="hidden" name="productid" value="3" > id="productcommentssave_productid"/> > (same as at line 60) > > Do you guys see anything that I could do to correct this? I would love to > have a app with correct xhtml. > > Best regards > Fredrik -- e: davelnew...@gmail.com m: 908-380-8699 s: davelnewton_skype t: @dave_newton <https://twitter.com/dave_newton> b: Bucky Bits <http://buckybits.blogspot.com/> g: davelnewton <https://github.com/davelnewton> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>