在验证我的单选按钮时遇到了一些问题。假设发生的是,如果没有选择单选按钮,那么它应该会出现一条消息,指出“单击一个单选按钮”,如果选择了一个单选按钮,它应该输出消息'单选按钮'+ 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>
答案 0 :(得分:3)
您在HTML中使用“sessionNo”,但在“getElementsByName()”调用中使用“SessionNo”。