2

我希望您帮助开发一个 javascript 函数来验证是否选择了以下单选按钮组 (IDType) 之一以及检查了哪个值并在 (ValidationError) 部门查看错误消息以防未选择单选按钮?

<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>

谢谢你的帮助.....

4

2 回答 2

9

首先,正如我的同事所说,两个单选按钮不能有相同的 id(“IDType”)。

这是一个仅使用 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>
于 2011-02-12T10:25:06.063 回答
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”)。

于 2011-02-12T08:17:30.807 回答