使用 Javascript 验证单选按钮

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14780387/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 17:53:28  来源:igfitidea点击:

Validation of radio buttons with Javascript

javascriptradio-buttonvalidation

提问by Kelvin Nguyen

I've combed a ton of the pages on here, and still am incapable to get my explicit validator to work. Basically, when the submit button is clicked, I want the script to verify a radio is checked, if one is checked to do nothing. If one isn't checked I want it to post an alert message.

我已经在这里梳理了大量页面,但仍然无法让我的显式验证器工作。基本上,当点击提交按钮时,我希望脚本验证一个收音机是否被选中,如果一个收音机被选中什么都不做。如果没有选中,我希望它发布一条警报消息。

roughly my html looks like:

大致我的 html 看起来像:

<form id="myForm" onsubmit = "check()">
<input type = "radio" name = "c" id = "1" value = "1" />
<input type = "radio" name = "c" id = "2" value = "2" />
<input type = "radio" name = "c" id = "3" value = "3" />

<input type = "submit" value = "Submit" />


my JS page looks like:

我的 JS 页面如下所示:

function check() {
    var r = document.getElementsByName("c")
    var c = 0

    for(var i=0; i < r.length; i++){
       if(c[i].checked) {
          c = i; }
    }

    alert("please select radio");
}

回答by Can Geli?

try this one

试试这个

function check() {
var r = document.getElementsByName("c")
var c = -1

for(var i=0; i < r.length; i++){
   if(r[i].checked) {
      c = i; 
   }
}
if (c == -1) alert("please select radio");
}

回答by James Montagne

this

这个

c[i].check

should be

应该

c[i].checked

and you're not actually doing anything with the result, you're just always alerting.

你实际上并没有对结果做任何事情,你只是一直在提醒。

回答by Vignesh Pichamani

<html>
<head>
<script language="javascript">
function check()    {

chosen = ""
len = document.myform.chk.length

for (i = 0; i <len; i++) {
if (document.myform.chk[i].checked) {
chosen = document.myform.chk[i].value
}
}

if (chosen == "") {
alert("No Option selected");
return false;
}
else {
alert("option selected");
return true;
}
}
</script>
</head>
<body>
<form name="myform" onsubmit = "return check();">
<input type = "radio" name = "chk" id = "1" value = "1" >
<input type = "radio" name = "chk" id = "2" value = "2" >
<input type = "radio" name = "chk" id = "3" value = "3" >

<input type="submit" value="submit">

</form>
</body>
</html>

Check for this validation hope its may also help you . Also check it in jsfiddle

检查此验证希望它也可以帮助您。也检查它在jsfiddle

回答by Deepak Singh

             function ShowMsg() {    

             if (fnSpeciality() == false) 
              {
              document.getElementById("myform").focus();
               return false;
            }

                function fnSpeciality() 
                {
             return fnRblfnSpeciality();
                 }
              function fnSpeciality() {
                   return fnRblfnSpeciality();
                          }


    function fnRblfnSpeciality() {

        var list = document.getElementById('myform'); //Client ID of the radiolist
        var inputs = list.getElementsByTagName("input");
        var isItemChecked = false;
        for (var i = 0; i < inputs.length; i++) {
            var listItem = inputs[i];

            if (listItem.checked) {
                //alert(listItem.value);
                isItemChecked = true;
                break;
            }
        }
     if (isItemChecked == false) {
            if (isItemChecked =="") {
                alert('Please select a speciality.');
                return false;
            }
            // else return true;
        }
        return true;
    }

回答by dharmasastha

CreditCard DebitCard By Cash

信用卡借记卡现金

                </td>
            </tr>

Am using radio button list ..pls share if have java script validation for this radio button

正在使用单选按钮列表 .. 请分享是否对此单选按钮进行了 java 脚本验证