Javascript单选按钮组验证

时间:2011-02-12 08:11:56

标签: javascript html validation radio-button radio-group

我希望你有助于开发一个javascript函数来验证是否选择了以下radiobutton组(IDType)之一以及检查了哪个值并在(ValidationError)除法中查看错误消息,以防没有选择单选按钮? / p>

<td>
<div>
<span>
<input type="radio" name="IDType" id="IDType" value="IDtype1"/>
ID Type 1
<input type="radio" name="IDType" id="IDType" value="IDtype2"/>
ID Type 2
</span>
<div id="ValidationError" name="ValidationError">
&nbsp;
</div>
</div>
</td>

感谢您的帮助......

2 个答案:

答案 0 :(得分:7)

首先,正如同事所说,你的单选按钮不能有相同的ID(“ID类型”)。

这是一个只有javascript的解决方案,没有任何jquery。

<html>
<head>
<script type="text/javascript">
function Validate() {
    var radios = document.getElementsByName('IDType')

    for (var i = 0; i < radios.length; i++) {
        if (radios[i].checked) {
        alert("Selected Value = " + radios[i].value);
        return true; // checked
    }
    };

    // not checked, show error
    document.getElementById('ValidationError').innerHTML = 'Error!!!';
    return false;
}
</script>
</head>
<body>
<form>
<div>
<span>
<input type="radio" name="IDType" value="IDtype1"/>
ID Type 1
<input type="radio" name="IDType" value="IDtype2"/>
ID Type 2
</span>
<div id="ValidationError" name="ValidationError">
</div>
</div>
<input type="submit" value="Submit" onclick="return Validate();" />
</form>
</body>
</html>

答案 1 :(得分:2)

function validateRadioButtons(){ 
    var radio = $('input:radio[name="IDType"]:checked');
    if(radio.length == 0)//no buttons selected
       {
           $('ValidationError').text("you haven't selected any buttons!");
           return;
       }
    $('ValidationError').text(radio.val()+' is selected');
}

ps:为了使其正常工作,您应该考虑对dom元素使用唯一ID。您的单选按钮不能具有相同的ID(“IDType”)。