单选按钮验证工作不正常

时间:2011-11-16 19:33:24

标签: javascript

在验证我的单选按钮时遇到了一些问题。假设发生的是,如果没有选择单选按钮,那么它应该会出现一条消息,指出“单击一个单选按钮”,如果选择了一个单选按钮,它应该输出消息'单选按钮'+ btnNum +'被选中'。

相反它正在做的是,无论是否选择单选按钮,它总是显示消息“单击单选按钮”。我一直试图解决这个问题多年,但似乎无法找到解决方案。你能看到我在这里出错的地方,以便根据是否选择单选按钮显示正确的信息吗?

<head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <title>Create a Session</title>
        <script type="text/javascript">

 function validation() {
                var errMsgContainerO = document.getElementById("radioAlert");
                var btnRad1O = document.getElementsByName("SessionNo");
                var isbtnRad1Checked = false;
                for(i=0; i < btnRad1O.length; i++){
                    if(btnRad1O[i].checked){
                        isbtnRad1Checked = true;
                        var btnNum = i;
                        i = btnRad1O.length;
                    }
                }
                if(!isbtnRad1Checked) {
                   errMsgContainerO.innerHTML = 'Click a radio button';
                } else {
                    errMsgContainerO.innerHTML = 'radio button '+ btnNum + ' was selected';
                }
                return false;  //for demo purposes
            }

  </script>
    </head>
    <body>

<form action="create_session.php" method="post" name="sessionform">
<table>
          <tr>
          <th>2: Number of Sessions :</th>
          <td class="sessionNo"><input type="radio" name="sessionNo" value="1" />1</td>
                  <td class="sessionNo"><input type="radio" name="sessionNo" value="2" />2</td>
                  <td class="sessionNo"><input type="radio" name="sessionNo" value="3" />3</td>
                  <td class="sessionNo"><input type="radio" name="sessionNo" value="4" />4</td>
                  <td class="sessionNo"><input type="radio" name="sessionNo" value="5" />5</td>
                  </tr>
                  </table>
                  <div id="radioAlert"></div>
</form>
</body>

1 个答案:

答案 0 :(得分:3)

您在HTML中使用“sessionNo”,但在“getElementsByName()”调用中使用“SessionNo”。