我正在生成一个带有一些单选按钮和复选框的HTML表单。例如,生成的单选按钮代码如下:
<input id="101_2" type="radio" name="101" value="2" >
<input id="101_3" type="radio" name="101" value="3" checked="true">
使用JavaScript我可以创建一个for循环来查看使用check属性检查的无线电。 问题是如果我手动点击另一个无线电选项(来自与示例中相同的组),在HTML中可视地看到我选择了另一个无线电,但JavaScript仍然说输入101_3是所选的无线电选项。如果我使用firebug查看HTML,我可以看到新选择的选项确实没有被选中(没有选中的属性)...尽管我已经手动选择了。
有关于此的任何想法吗?
答案 0 :(得分:0)
在命名单选按钮或任何类型的DOM输入元素时,Fist和formost永远不会使用数字启动输入元素的名称,始终用字母开始输入元素的名称。
对于您发布的代码,您可以用类似的方式命名您的无线电,one01或x101或o101,等等......
对你的ids做同样的事情&#39;任何DOM元素。永远不要使用数字启动DOM元素的id。
- HTML
<input id="x101_2" type="radio" name="x101" value="2">
<input id="x101_3" type="radio" name="x101" value="3" checked="checked">
<br /><br />
<button type="button" onclick="WhatsChecked()">Whats Checked?</button>
- JavaScript的
function WhatsChecked() {
var radCk = document.body.querySelectorAll('input[name="x101"]:checked')[0];
alert(radCk.id);
};
- 提琴手