javascript - 如何检查是否选择了单选按钮之一?

标签 javascript html forms webforms radio-button

我有 JavaScript 可以很好地检查文本字段和复选框,但是当涉及到单选按钮时,它无法区分是否选择了其中一个选项。

如何正确执行此操作?

这就是我所拥有的:

validateBugForm = function()
{
    var name = document.forms["bug_form"]["Name"].value;
    var email = document.forms["bug_form"]["Email"].value;
    var tos = document.forms["bug_form"]["Accept"].checked;
    var project = document.forms["bug_form"]["project"].value;

    if (name == "")
    {
        alert("You must provide your name or nick name!");
        return false;
    }

    if (project == "")
    {
        alert("You must choose a project.");
        return false;
    }

    if (email.indexOf ('@', 0) == -1 || email.indexOf ('.', 0) == -1)
    {
        alert("You must provide your email address!");
        return false;
    }

    if (!tos)
    {
        alert("You must agree to our Terms of Services.");
        return false;
    }
}

在我的表格中,我有:

<tr>
    <td width="30%">Choose a project in which you encountered a problem. 
    <big><font color="red">*</font></big></td></td>
    <td width="10px" class="table_td_space"></td>
    <td width="70%">
        <input type="radio" name="project" value="1" id="1">1<br>
        <input type="radio" name="project" value="2" id="2">2<br>
        <input type="radio" name="project" value="3" id="3">3<br>
        <input type="radio" name="project" value="4" id="4">4<br>
    </td>
</tr>

最佳答案

您需要循环浏览所有单选按钮选项以查看是否选择了一个:

var projectObj = document.form1.project
var len = projectObj.length
var chosen = null;

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

if (chosen == null) {
    alert("No Radio Button Chosen")
}

http://homepage.ntlworld.com/kayseycarvey/jss3p11.html

关于javascript - 如何检查是否选择了单选按钮之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274282/

相关文章:

css - 我正在尝试将文本与表单的选择元素内的中心对齐。它在 Firefox 中运行良好,但在 Chrome 中运行良好 : any ideas?

javascript - 根据下拉选择向表单添加和删除输入标签

javascript - 单击时突出显示 slickgrid 行

html - Foundation 中的 Magellan - 防止向元素添加 "top"样式

JavaScript 多重赋值

javascript - 将数据从 C# 传递到 Angular JS html

javascript - 使用 jQuery/Ajax 从下拉列表中选择同一页面上的另一个 div 加载内容

html - 如何在表单中查找重复的 ID?

javascript - 将多个页面中的数据保存到本地存储中,而不会覆盖其他页面的本地存储

javascript - 如何在div上只有一个垂直滚动条