如果输入已被检查,我想检索该值。
<input type="radio" name="radioGroup" value="check" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<button>Submit</button>
我尝试在脚本中,
var a = document.getElementsByTagName("input").name;
var btn = document.getElementsByTagName("button");
btn.onclick = function () {
if (a.checked == true) {
console.log(a.value);
}
};
我需要在每个输入中加上“id”吗? 我想要纯粹的javascript,因为我已经知道了jQuery代码。
答案 0 :(得分:1)
您可以使用 querySelector()
来获取已选中的元素。 getElementsByTagName()
也会返回 HTMLCollection
,因此您需要使用索引选择第一个,否则您需要提供id
然后使用 getElementById()
即可。
var btn = document.getElementsByTagName("button")[0];
// getting first button from HTMLCollection
btn.onclick = function() {
// binding click event handler
var a = document.querySelector('[name="radioGroup"]:checked');
// getting checked checkbox
if (a) {
// checking a is defined or not , if not it means no checked buttons are there
console.log(a.value);
// logging it's value in console
}
};
<input type="radio" name="radioGroup" value="check" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<button>Submit</button>
答案 1 :(得分:0)
getElementsByTagName()方法返回文档中具有指定标记名称的所有元素的集合,作为NodeList对象。
NodeList对象表示节点的集合。可以通过索引号访问节点。指数从0开始。
var a = document.getElementsByTagName("input");
var btn = document.getElementsByTagName("button");
btn[0].onclick = function () {
for(var i=0;i<a.length;i++){
if (a[i].checked == true) {
console.log(a[i].value);
}
}
};
答案 2 :(得分:0)
按钮单击您可以使用 querySelector 来获取结果。 以下代码将有所帮助。
function GetSelected()
{
alert(document.querySelector('input[name="radioGroup"]:checked').value);
}
<input type="radio" name="radioGroup" value="check" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<input type="radio" name="radioGroup" value="wrong" />
<button onclick="GetSelected()">Submit</button>