<label class="btn btn-default">
<s:checkbox name="viewTypeDescr" /> 
<s:text name="name.contentType" />
</label>
文档:http://struts.apache.org/release/2.3.x/docs/checkbox.html 说,它将呈现一个input[type=checkbox]
而是这里就是我得到:
<label class="btn btn-default">
<input type="checkbox" name="viewTypeDescr" value="true" id="search_viewTypeDescr">
<input type="hidden" id="__checkbox_search_viewTypeDescr" name="__checkbox_viewTypeDescr" value="true">
Content Type
</label>
添加input[type="hidden"]
会导致生成的页面无效,因为标签中可能有最多1个输入。无效的
定义:
- 转到validator.w3.org来
- “通过直接输入验证”
- 装饰它提供的HTML代码粘贴缺少
<html><head><title>foo</title></head><body>
和</body></html>
以减少假错误 - 选择HTML5广告DOCTYPE
- 点击 “验证”
- 得到这个错误:“L ine xyz,Column abc:标签元素最多可以包含一个输入,按钮,select,textarea或keygen后代。“
- 为了以防万一:“标题可以与特定的表单控件(称为标签元素的标签控件)相关联,可以使用for属性,也可以将表单控件放入标签元素本身。”
- 发现:“如果未指定for属性,但标签元素具有可标记的元素后代,则第一个树状顺序的后代是标签元素的标签控件。”
- 添加一个隐藏的不能有“http://www.w3.org/html/wg/drafts/html/master/forms.html#category-label”
无论如何,当您提交文件QA进行验证,他们使用validator.w3.org,这是最重要的。
隐藏的原因是什么?我怎么能摆脱它或将它移动到其他地方?
你确定有一个隐藏的领域? –
你如何检查你的HTML的有效性?你在哪里发现该标签只能有一个输入? '每个LABEL元素只与一个表单控件相关联.''相关'不是''可以''。 –
更新为“验证”信息 – Trumbitta