页面中10道题目,其中3个radio,7个checkbox,如何用JS在客户端验证?

yzflying 2002-11-25 04:56:38
我的一个页面中10道题目,其中3个radio,7个checkbox,如何用JS在客户端验证?
用户如何有一项没有做出选择,无论是radio还是checkbox都不让提交!
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
freefalcon 2002-11-26
  • 打赏
  • 举报
回复
如下,每道题目后面的input都取相同的name,对于单选按钮,在服务器端得到的就是其选中的value,对于复选按钮,得到的是一个数组
对于单选按钮,你可以先指定一个默认选项以减少判断,但下面的方法对于二者都实用
<form name="form1" action="1.htm" method="post" onSubmit="return checkForm()">
<table>
<tr><td>题目1:</td>
<td><input type="checkbox" name="ques1">选择1</td>
<td><input type="checkbox" name="ques1">选择2</td>
</tr>
<tr><td>题目2:</td>
<td><input type="checkbox" name="ques2">选择1</td>
<td><input type="checkbox" name="ques2">选择2</td>
<td><input type="checkbox" name="ques2">选择3</td>
</tr>
<tr><td>题目3</td>
<td><input type="radio" name="ques3" checked>选择1</td>
<td><input type="radio" name="ques3">选择2</td>
</tr>
</table>
<input type="submit">
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkForm() {
for(i=1;i<=10;i++) {
var flag=false;
var obj=eval("form1.ques"+i);
for(j=0;j<obj.length;j++)
if(obj[j].checked){
flag=true;
continue;
}
if(!flag){
alert("您还未对题目"+i+"做出选择!");
return false;
}

}
return true;
}
//-->
</SCRIPT>
yzflying 2002-11-26
  • 打赏
  • 举报
回复
兄弟你错误的理解了我的意思,我是说10道题目,其中有3道题目是单选按钮,选项有4-7个不等,7道题目是复选按钮,选项也是4-7个不等,这样怎么在客户端进行验证?
利而不害 2002-11-25
  • 打赏
  • 举报
回复
<form name="frm1" action="1.htm" method="post" onSubmit="return checkForm()">
<input type="checkbox" name="chk">111111111<br>
<input type="checkbox" name="chk">222222222<br>
<input type="checkbox" name="chk">333333333<br>
<input type="checkbox" name="chk">444444444<br>
<input type="checkbox" name="chk">555555555<br>
<input type="checkbox" name="chk">666666666<br>
<input type="checkbox" name="chk">777777777<br>
<input type="radio" name="rdo">888888888<br>
<input type="radio" name="rdo">999999999<br>
<input type="radio" name="rdo">000000000<br>
<input type="submit">
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkForm() {
var flagC=false;
var flagR=false;

for(i=0;i<frm1.chk.length;i++) {
if(frm1.chk[i].checked) {
flagC=true;
}
}

for(j=0;j<frm1.rdo.length;j++) {
if(frm1.rdo[j].checked) {
flagR=true;
}
}

if(!flagC) {
alert("checkbox一个也没选!");
return false;
}
if(!flagR) {
alert("radio一个也没选!");
return false;
}
}
//-->
</SCRIPT>

87,937

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧