Chrome 21 不检查单选按钮

stu*_*stu 5 google-chrome radio-button

我经过一番努力才发现这一点,所以我想我应该分享我所遇到的事情,这样其他人就可以从我的努力中受益。Firefox IE 和 chrome 19(我手边唯一的其他版本)没有这个问题,但 chrome 21 有。

如果您有这个单选按钮

<input type='radio' name'k1' value='v1' checked>
Run Code Online (Sandbox Code Playgroud)

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

例如我有

<table>
<input type='radio' name'k1' value='v1' checked> 
<tr><td>table information</td></tr> 
</table> 
Run Code Online (Sandbox Code Playgroud)

无论我做什么,页面加载时都不会出现选中状态。

stu*_*stu 2

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

如果您将输入放在有效位置,它就可以正常工作......

<table>
<tr><td>table information
<input type='radio' name'k1' value='v1' checked>
</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

所以我确信我的布局是错误的,而且我确信流行的反应是“你怎么能期望浏览器解释无效的 html?” 我同意,但不检查单选按钮,特别是因为它是隐藏的(并且它曾经在以前版本的 Chrome 中工作)会导致很难追踪错误。所以我想我可以为某人节省几个小时的工作时间。