2015-10-07 22 views
0

我想检索输入值时检查值。如何检索输入值时检查值

<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

那么,jQuery的选择函数是不同于Javascript的,因为'document.getElementsByTagName'给你一个'NodeList',而不是一个元素。在这一点上不需要'var a = ...'和'var btn = ...',它们也不是正确的。对于按钮,像document.querySelector('button')'这样的选择器更适合,如果那个人是页面上唯一的按钮。然后阅读重复的目标,找出其余的。 – Xufox

回答

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>

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); 
     } 
    } 
}; 
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>