如果检查输入,我如何检索值

时间:2015-10-07 09:20:15

标签: javascript

如果输入已被检查,我想检索该值。

<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代码。

3 个答案:

答案 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>