javascript - 检查我的所有单选按钮是否已填充

标签 javascript html

我需要弄清楚如何检查我的单选按钮是否已全部填充。这就是我所拥有的,但它只检查一个按钮

    var btns = form.choice_1; 
   for (var i=0; el=btns[i]; i++) {
     if (el.checked) return true;
   }
   alert('Please select a radio button');
   return false;

这是我从中获取输入的表单。

<form onsubmit="return checkRadios(this);" name = "form" action = "like.php" method ="post" >


<h1> Questions </h1> 
    <p> Question 1 </p>
    <input type="radio" name="choice_1" value="1">Like <input type="radio" name="choice_1" value="2" > Dislike
     <p> Question 2 </p>
    <input type="radio" name="choice_2" value="1">Like <input type="radio" name="choice_2" value="2" > Dislike
     <p> Question 3 </p>
    <input type="radio" name="choice_3" value="1">Like <input type="radio" name="choice_3" value="2" > Dislike
    <p> Question 4 </p>
    <input type="radio" name="choice_4" value="1">Like <input type="radio" name="choice_4" value="2" > Dislike
    <br> <br>
    <input type="submit" value="Submit">

感谢任何帮助。

最佳答案

试试这个:

var checkRadios = function () {
    var btns = form.querySelectorAll('input[name^=choice_][type="radio"]');
    for (var i = 0; i < btns.length; i = i + 2) {
        var check = true;
        if (!btns[i].checked && !btns[i + 1].checked) check = false;
    }
    if (!check) alert('Please select a radio button');
    return check;
}
var form = document.querySelector('form[name="form"]');
form.onsubmit = checkRadios;

Fiddle

关于javascript - 检查我的所有单选按钮是否已填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154478/

相关文章:

javascript - 如何使用 javascript 每行打印 5 个乘法表并在下一行打印剩余 5 个?

php - FPDF - 换行符不起作用

javascript - 使用 JS 函数多次更改 HTML 按钮文本颜色

jquery - 使用 jquery 图像旋转器无法正确堆叠图像

javascript - 如何将对象传递给 Vue 组件?

javascript - 要求还是不要求?

javascript - 如何从 Polymer 中的 JavaScript 访问自定义 CSS 属性?

javascript - 运行 ngserve Angular5 时出错

javascript - 一个用于格式化 JavaScript 代码的 JavaScript 函数

html - 使用 CSS 选择器在第一个 span 内部标签后冒号