******头都大了!请大哥大姐们帮我验证一下表单(JavaScript菜鸟心痛中)

IMPIG 2004-11-09 12:17:40
我想学习制作一个简单的考试系统,在添加试题验证表单时遇到了问题!
试题类型"单选题"和"多选题",是用radio选择
<input type="radio" name="type" value="单选题"> 单选题
<input type="radio" name="type" value="多选题"> 多选题
试题答案是用checkbox选择
A <input type="checkbox" name="answer" value="A">
B <input type="checkbox" name="answer" value="B">
C <input type="checkbox" name="answer" value="C">
D <input type="checkbox" name="answer" value="D">
现在我想实现:
-->当录入试题时选择了"单选题"时,选择的答案只能是一个
-->当录入试题时选择了"多选题"时,选择的答案不能少于2个
用户的提交时type和answer的选择我都取得了,可就是判断不出来
搞了半天了!求大家帮忙写一下!
谢谢了
...全文
126 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
IMPIG 2004-11-10
  • 打赏
  • 举报
回复




.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
心云意水 2004-11-09
  • 打赏
  • 举报
回复
o=document.getElementsByName("answer");
o表示所有有名为answer的元素的集合,可以看成数组使用
o.length是o的下一个可用索引号,一般来说等于o中所有元素的个数。
o存储的就是名为answer的元素,o[0]表示第一个,依次类推
IMPIG 2004-11-09
  • 打赏
  • 举报
回复
特别感谢xinyunyishui(心云意水)朋友!
还有楼上各位!
----------------------------------------------
那位朋友再解释一下:
o=document.getElementsByName("answer");
oo=document.all.item("answer");
这里的o或oo是个什么啊?是数组吗?还是answer控件的个数?
o里面存的是什么呢? 是o[0,1,2,3...]之类的吗?
用o.length取得的是o的长度?元素个数?

这些问题困扰我好久了!谢谢大家一会结贴

谢谢大家,一会结贴
shyslysky 2004-11-09
  • 打赏
  • 举报
回复
var o=document.getElementsByName("answer");
var j=0;
for(var i=0;i<o.length;i++)
if(o[i].checked)
j++
if(document.getElementsByName("type")[0].checked && j>1)
alert("error");
if(document.getElementsByName("type")[1].checked && j<2)
alert("error");
DARKNESSFALL 2004-11-09
  • 打赏
  • 举报
回复
劫分
catblue 2004-11-09
  • 打赏
  • 举报
回复
同意楼上!
micker 2004-11-09
  • 打赏
  • 举报
回复
同意楼上!
lonelydreamsym 2004-11-09
  • 打赏
  • 举报
回复
接分
心云意水 2004-11-09
  • 打赏
  • 举报
回复
var o=document.getElementsByName("answer");
var j=0;
for(var i=0;i<o.lengthl;i++)
if(o[i].checked)
j++
if(document.getElementsByName("type")[0].checked && j>1)
alert("error");
if(document.getElementsByName("type")[1].checked && j<=2)
alert("error");
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-11-09 12:17
社区公告
暂无公告