javascript - 使用 JavaScript 单击时获取单选输入的值

标签 javascript html

我试图在提交之前获取单击时的单选输入值,以将其存储并显示在表单末尾的摘要中。我无法直接向输入添加单击功能,因此我循环输入并添加单击事件。现在,我只需要获取单击输入的值。这是代码:

var radios = document.getElementsByName('fields');
    for (var i = 0, length = radios.length; i < length; i++)
    {
        radios[i].addEventListener("click", getValue);
    }
function getValue(){
    console.log(radios.value);
    }

我得到的响应未定义。

最佳答案

不要使用'click'事件。即使没有点击,输入的状态也可以更改(即:按 Tab 键和使用空格键等)

使用'change''input'事件

const el_radio_1 = document.querySelectorAll('[name="radio_1"]');
const fn_radio_1 = evt => {
  console.log(evt.target.value)
};

el_radio_1.forEach(el => {
  el.addEventListener('change', fn_radio_1)
});
<label>
  <input type="radio" name="radio_1" value="a"> Test a 
</label>
<label>
  <input type="radio" name="radio_1" value="b" checked> Test b
</label>

如果您使用标准Function,请使用this.value:

function fn_radio_1(evt)  {
  console.log(this.value)
  console.log(evt.type)
}

关于javascript - 使用 JavaScript 单击时获取单选输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56531878/

相关文章:

javascript - Polymer:为响应服务器响应的组件编写演示和测试

javascript - 如何访问 xslt 中的 javascript 变量

javascript - 我希望进度条在视口(viewport)中填充或变空,但只有一次

html - 绝对定位的元素在填充时离开屏幕

javascript - 粘贴事件修改内容并在原处返回

javascript - 使菜单保持在顶部,但在向下滚动侧滚动网站时不会

html - 将两个 <ul> 并排放置

javascript - 尝试创建一些登录验证

javascript - 使用 ionicFramework 和 ngCordova 的 HTTPS 请求

php - 需要帮助以根据现有 MySQL 数据以 php/html 形式显示选定的列表项