Google chrome Chrome 21不检查单选按钮

Google chrome Chrome 21不检查单选按钮,google-chrome,radio-button,Google Chrome,Radio Button,我经过很多努力才明白这一点,所以我想我会分享我遇到的情况,这样其他人可以从我的努力中受益。Firefox IE和Chrome19(我手头唯一的另一个版本)对此没有问题,但Chrome21有问题 如果你有这个单选按钮 <input type='radio' name'k1' value='v1' checked> 如果它位于无效位置,则不会在页面上显示为选中状态 比如我 <table> <input type='radio' name'k1' value='v1

我经过很多努力才明白这一点,所以我想我会分享我遇到的情况,这样其他人可以从我的努力中受益。Firefox IE和Chrome19(我手头唯一的另一个版本)对此没有问题,但Chrome21有问题

如果你有这个单选按钮

<input type='radio' name'k1' value='v1' checked>

如果它位于无效位置,则不会在页面上显示为选中状态

比如我

<table>
<input type='radio' name'k1' value='v1' checked> 
<tr><td>table information</td></tr> 
</table> 

表信息

无论我做了什么,当页面加载时,它都不会显示为选中状态。

我的html肯定无效,但在我的情况下,它是隐藏的,所以我没有立即注意到,但无论是否隐藏,当页面加载时按钮都不会被选中(因此不会与表单一起提交)

如果你把输入放在一个有效的位置,它可以正常工作


表信息

因此,我确信我的布局是错误的,我确信流行的回答是“你怎么能期望浏览器解释无效的html?”我同意,但不检查单选按钮,特别是因为它是隐藏的(并且在以前的chrome版本中使用过),这使得很难追踪到错误。所以我想我可以帮别人省几个小时的工作。

在谷歌Chrome 21.0.1180.75和.79上测试

<table>
  <input type="checkbox" name="n" value="v" checked="checked" />
</table>

尽管它与所讨论的浏览器无关,但某些移动设备(例如Galaxy S3)不会检查单选按钮,除非它处于表单中。根据我的经验,大多数其他输入(例如复选框)都很好

<table>
  <input type="checkbox" name="n" value="v" checked="checked" />
</table>
<table>
  <tr>
    <td>
      <input type="checkbox" name="n" value="v" checked="checked" />
    </td>
  </tr>
</table>