【问题标题】:Validate form: if radio button is not checked show error message Javascript验证表单:如果未选中单选按钮,则显示错误消息 Javascript
【发布时间】:2026-01-12 13:15:01
【问题描述】:

如果未选中复选框,我会尝试显示错误消息。

我的解决方案不起作用。请看下文。不知道如何检查。

<input type="radio" name="comm">Yes
<input type="radio" name="comm">No

<div id="error_message"></div>
<button id="btn">Submit</button>

document.getElementById("btn").addEventListener("click", function(event){
        event.preventDefault();
        myFunction();
    });

function myFunction() {
        var errortxt = "";
        var radios = document.getElementsByName('comm');
        for(var i = 0; i < radios.length; i++) {
            if (radios[i].checked = false) {
                errortxt = "Error text";
            } else {
                errortxt = "";
            }
        }    
    document.getElementById("error_message").innerHTML = "<p>" + errortxt + "</p>";    
    }

【问题讨论】:

    标签: javascript forms validation checkbox


    【解决方案1】:

    只需在 HTML 中使用 required 即可解决此问题

    像这样:

    <input type="radio" name="comm" required>
    

    【讨论】:

    【解决方案2】:

    你犯了一个错误,但你的思维方式很好,我确实用正确的合成器更新了你的 sn-p。

    = 用于为 javascript 中的变量赋值。

    在 JavaScript 中有两种比较值的运算符:严格相等 === 和“正常”(或宽松)相等 ==。

    http://2ality.com/2011/06/javascript-equality.html

    for(const radio of radios){
      if(!radio.checked){
        errortxt = "Error text";
        break; // this will break the loop when a radio is not checked (will save precious time !)
      }
    }
    

    document.getElementById("btn").addEventListener("click", function(event){
            event.preventDefault();
            myFunction();
        });
    
    function myFunction() {
            var errortxt = "";
            var radios = document.getElementsByName('comm');
            for(const radio of radios){
              if(!radio.checked){
                errortxt = "Error text";
                break;
              }
            }
        document.getElementById("error_message").innerHTML = "<p>" + errortxt + "</p>";    
        }
    <input type="radio" name="comm">Yes
    <input type="radio" name="comm">No
    
    <div id="error_message"></div>
    <button id="btn">Submit</button>

    【讨论】:

      最近更新 更多