高分求教,判断提交表单的完整性.

highlandz 2002-08-29 11:52:28
一个程序生成的调查表,事先完全不知道表单类型,只知道name为"QUES???",知道问题总数.
要求提交表单是检查是否填写正确.保证radio或checkbox每题最少选中一个选项.缺省状态
是全部不选中的.谢谢.

示例表单如下,谢谢.
<input type=radio value=1 name=Ques1>
<input type=radio value=2 name=Ques1>

<input type=checkbox value=1 name=Ques2>
<input type=checkbox value=2 name=Ques2>
<input type=checkbox value=3 name=Ques2>

<textarea rows='5' cols='50' name=Ques3>

<input type=checkbox value=1 name=Ques4>
<input type=checkbox value=2 name=Ques4>
<input type=checkbox value=3 name=Ques4>
<input type=checkbox value=4 name=Ques4>
<input type=checkbox value=5 name=Ques4>
<input type=checkbox value=6 name=Ques4>

<textarea rows='5' cols='50' name=Ques5>

<input type=radio value=1 name=Ques6>
<input type=radio value=2 name=Ques6>
<input type=radio value=3 name=Ques6>
<input type=radio value=4 name=Ques6>

最后请告知在哪里结贴打分.
...全文
53 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fokker 2002-08-29
  • 打赏
  • 举报
回复
<input type=radio value=1 name=Ques1>
<input type=radio value=2 name=Ques1>

<input type=checkbox value=1 name=Ques2>
<input type=checkbox value=2 name=Ques2>
<input type=checkbox value=3 name=Ques2>

<textarea rows='5' cols='50' name=Ques3>
</textarea>
<input type=checkbox value=1 name=Ques4>
<input type=checkbox value=2 name=Ques4>
<input type=checkbox value=3 name=Ques4>
<input type=checkbox value=4 name=Ques4>
<input type=checkbox value=5 name=Ques4>
<input type=checkbox value=6 name=Ques4>

<textarea rows='5' cols='50' name=Ques5>
</textarea>
<input type=radio value=1 name=Ques6>
<input type=radio value=2 name=Ques6>
<input type=radio value=3 name=Ques6>
<input type=radio value=4 name=Ques6>
<script >
function chkForm(num){
//alert(num)
if(!num) num=1
var objs=document.getElementsByName("Ques"+num);
var flag;
if(objs.length>0){
flag=true;
for(var i=0;i<objs.length;i++){
switch(objs[i].type.toLowerCase()){
case "radio":
case "checkbox":
if(objs[i].checked) flag=false;
break;
case "textarea":
if(objs[i].value.length>0) flag=false;
break;
}
}
if(!flag){
chkForm(parseInt(num)+1)
}else{
alert("第" + num + "题没有作");
objs[0].focus();
return false;
}
}
}
</script>
<input type=button onclick="chkForm()">
孟子E章 2002-08-29
  • 打赏
  • 举报
回复
<script>
function checkIt()
{
var num = 6; //问题总数
for(i=1;i<=num;i++)
{
var isOK = false
var tmp = 0
var obj = document.getElementsByName("Ques" + i)
for(j=0;j<obj.length;j++)
{
if(obj[j].type=="radio" || obj[j].type=="checkbox" )
{
tmp=1
if(obj[j].checked)
isOK = true
}
}
if(!isOK && tmp==1) alert(document.getElementsByName("Ques" + i)[0].name + "没有选了!")
}
}
</script>

<input type=radio value=1 name=Ques1>
<input type=radio value=2 name=Ques1>

<input type=checkbox value=1 name=Ques2>
<input type=checkbox value=2 name=Ques2>
<input type=checkbox value=3 name=Ques2>

<textarea rows='5' cols='50' name=Ques3></textarea>

<input type=checkbox value=1 name=Ques4>
<input type=checkbox value=2 name=Ques4>
<input type=checkbox value=3 name=Ques4>
<input type=checkbox value=4 name=Ques4>
<input type=checkbox value=5 name=Ques4>
<input type=checkbox value=6 name=Ques4>

<textarea rows='5' cols='50' name=Ques5></textarea>

<input type=radio value=1 name=Ques6>
<input type=radio value=2 name=Ques6>
<input type=radio value=3 name=Ques6>
<input type=radio value=4 name=Ques6>
<input type=button onclick="checkIt()" value="检查">
孟子E章 2002-08-29
  • 打赏
  • 举报
回复
function checkIt()
{
var num = 100 //问题总数
for(i= 1;<=num;i++)
{
var isOK = false
var obj = document.getElementByName("Ques" + i)
for(j=0;j<obj.length;j++)
{
if(obj[j].ckecked) isOK = true
}
if(!isOK) alert(document.getElementByName("Ques" + i) + "没有选!")
}
}
highlandz 2002-08-29
  • 打赏
  • 举报
回复
多谢各位,听君一席话,胜读十年书.
fokker 2002-08-29
  • 打赏
  • 举报
回复
我的和秋水的一样。
qiushuiwuhen 2002-08-29
  • 打赏
  • 举报
回复
去了几个变量,可以无限加而不需要设定num(只要是连续的)
<script>
function checkIt()
{
var i = 0;
while(true)
{
var obj = document.getElementsByName("Ques" + ++i)
if(obj.length==0)break;

for(j=0;j<obj.length;j++)
{
if(obj[j].type=="radio"||obj[j].type=="checkbox"){if(obj[j].checked)break;}
else if(obj[j].value==""){alert("Ques" + i + "还没有内容");obj[j].focus();return;}else break;
}
if(j==obj.length){alert("Ques" + i + "还没有选");return;}
}
}
</script>

1.<input type=radio value=1 name=Ques1>
<input type=radio value=2 name=Ques1>

<br>2.
<input type=checkbox value=1 name=Ques2>
<input type=checkbox value=2 name=Ques2>
<input type=checkbox value=3 name=Ques2>

<br>3.
<textarea rows='5' cols='50' name=Ques3></textarea>

<br>4.
<input type=checkbox value=1 name=Ques4>
<input type=checkbox value=2 name=Ques4>
<input type=checkbox value=3 name=Ques4>
<input type=checkbox value=4 name=Ques4>
<input type=checkbox value=5 name=Ques4>
<input type=checkbox value=6 name=Ques4>

<br>5.
<textarea rows='5' cols='50' name=Ques5></textarea>

<br>6.
<input type=radio value=1 name=Ques6>
<input type=radio value=2 name=Ques6>
<input type=radio value=3 name=Ques6>
<input type=radio value=4 name=Ques6>
<input type=button onclick="checkIt()" value="检查">

87,996

社区成员

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

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