如何检查是否选择了一个单选按钮?

Hel*_*der 0 html javascript 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的表格中,我有:

<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>
Run Code Online (Sandbox Code Playgroud)

msi*_*man 6

您需要遍历所有单选按钮选项以查看是否选择了一个:

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")
}
Run Code Online (Sandbox Code Playgroud)

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

  • +1,但请声明变量和存储对象,如`document.form1返回的[HTMLCollection](http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75708506) .project`以提高效率(和更少的代码). (2认同)