我真的需要从标签中删除另一个隐藏的表单字段以使HTML进行验证吗?

| 我们有以下代码,其中在w3c验证程序中出现以下错误:“任何具有for属性的label元素的任何输入后代都必须具有与attribute匹配的ID值。”和\“ label元素可能包含最多只有一个输入,按钮,选择,文本区域或keygen后代。\“验证者是否应该忽略此内容(因为它看起来似乎是正确的),还是应该更改它以安抚w3c?请注意,这是html5 doctype。
<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>
预先感谢!     
已邀请:
标签最多应包含一个输入元素。将隐藏的输入移出标签。同样,当输入是标签的后代时,“ 1”属性是多余的。
<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>
    
  这是验证者应该忽略的东西吗 没有   (因为这似乎是正确的) 不是   还是应该改变 是   安抚w3c? 不能。应该更改它,因为它是错误的,浏览器必须进行错误更正才能找出与标签关联的元素。 标签未标记隐藏的输入,请将其移到其他位置。     

要回复问题请先登录注册