forms - 我真的必须从标签中删除第二个隐藏的表单字段才能验证我的 HTML 吗?

标签 forms html w3c w3c-validation

我们有以下代码,其中我们在 w3c 验证器中收到错误“具有 for 属性的标签元素的任何输入后代必须具有与 for 属性匹配的 ID 值。”和“标签元素最多可以包含一个输入、按钮、选择、文本区域或注册机后代。”这是验证器应该忽略的东西(因为它看起来是正确的)还是应该更改它以安抚 w3c?请注意,这是 html5 文档类型。

<fieldset>
  <label for="user_is_subscribed">
    <input type="hidden" value="0" name="user[is_subscribed]">
    <input type="checkbox" value="1" name="user[is_subscribed]" id="user_is_subscribed">
    Newsletter Signup
  </label>
  <span class="checkLabel">We will never spam or give away your information</span>
</fieldset>

提前致谢!

最佳答案

标签最多应包含一个输入元素。将隐藏的输入移出标签。此外,当输入是标签的后代时,for 属性是多余的。

<fieldset>
  <input type="hidden" value="0" name="user[is_subscribed]">
  <label>
    <input type="checkbox" value="1" name="user[is_subscribed]" id="user_is_subscribed">
    Newsletter Signup
  </label>
  <span class="checkLabel">We will never spam or give away your information</span>
</fieldset>

关于forms - 我真的必须从标签中删除第二个隐藏的表单字段才能验证我的 HTML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5760546/

相关文章:

javascript - rails : Making each choice in a form select field render relevant input in another form field

javascript - ExtJS - 表单提交

javascript - 无需javascript处理即可获取原始dom元素innerHTML

html - 响应式图像不折叠

.net - 是否存在用于 W3C 标记验证器 API 的 .NET 库?

javascript - Html5 输入属性的默认值,如 min 、 max 、 size 等

javascript - Paypal 不接受 angularjs 中的 FORM

ruby-on-rails - Rails-更新单个属性:使用自定义操作链接还是使用隐藏字段链接表单?

javascript - 获取输入类型范围的值

javascript - 如何将 css 文件添加到打开的窗口