如何使用Javascript检查其他单选按钮之间是否选中了特定的单选按钮?

时间:2016-09-10 01:03:31

标签: javascript html

我正在尝试javascript检查是否在其他单选按钮中选中了特定的单选按钮。

检查任何单选按钮是否完美运行的验证方法:

这是包含单选按钮的HTML代码片段:

<form id = "buy" name = "buy" onsubmit = "return valiform()">

    <input type="radio" name="Card_type" value="visa" > Visa </input>
    <input type="radio" name="Card_type" value="mastercard" > Mastercard</input>
    <input type="radio" name="Card_type" value="paypal" > Paypal </input>
    <input type="submit" value="Confirm order">
</form>

这是关于单选按钮的Javascript代码片段:

<script type = "text/javascript">
            function valiform(){
            var visa = document.buy.Card_type;
            var mastercard = document.buy.Card_type;
            var paypal = document.buy.Card_type;
            var message = "Error!\n";
            function validateRadio (radios)
            {
                for (i = 0; i < radios.length; ++ i)
                {
                    if (radios [i].checked) return true;
                }
                return false;
            }
            if(validateRadio (document.buy.Card_type))
            {

            }
            else
            {
                message+= "Please select card.\n";
            }
            if(message != "Error!\n"){
            alert(message);
            return false;
            }
        }
 </script>

到目前为止代码工作正常,但我希望代码检查是否选择了Paypal单选按钮。如果不引发错误,我无法做到。任何想法怎么做?

3 个答案:

答案 0 :(得分:1)

首先将paypal行更改为:

<label><input id="paypalRadio" type="radio" name="Card_type" value="paypal"> Paypal </label>

这使用此代码,如果选中给定的单选按钮,它将返回true:

document.getElementById('paypalRadio').checked

或者您可以在不改变任何内容的情况下执行此操作:

$("td[name=Card_type]")[2].prop("checked", true)

答案 1 :(得分:0)

您可以true返回已选中按钮的值,而不是只返回validateRadio()。然后,您可以将其分配给变量。

var selected = validateRadio(document.buy.Card_type);
if (selected == 'paypal') {
    ...
}

答案 2 :(得分:0)

<input type="radio" name="Card_type" value="visa" > Visa </input>无效html; <input>empty element,其中不允许使用内容。您可以使用附加到.addEventListener()元素submit<form>.querySelectorAll()的{​​{1}},Array.prototype.some()事件,检查结果2处的元素{1}}确定.querySelectorAll()元素是否input等于value

&#13;
&#13;
"paypal"
&#13;
&#13;
&#13;