如果检查输入,我如何检索值[重复]

Posted

技术标签:

【中文标题】如果检查输入,我如何检索值[重复]【英文标题】:How do i retrieve the value if input got checked [duplicate] 【发布时间】:2016-01-04 11:06:04 【问题描述】:

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

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

【问题讨论】:

嗯,jQuery 的选择器函数与 Javascript 的不同,因为document.getElementsByTagName 给你一个NodeList,而不是一个元素。此时不需要var a = …var btn = …,它们也不正确。对于按钮,像document.querySelector('button') 这样的选择器更合适,如果该按钮是页面上唯一的按钮。然后阅读重复的目标以找出其余部分。 【参考方案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>

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

点击按钮您可以使用 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>

【讨论】:

以上是关于如果检查输入,我如何检索值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在检索值之前检查哈希映射键是不是存在[重复]

检查oracle表单多记录块中的重复值

从方法返回多个结果[重复]

excel如何检索重复内容

怎么给参数赋两个值

如何遍历列,检查任何列中是不是存在特定值,改变新列并输入 1 如果存在,如果不存在则输入 0?