我做了一个类似问卷调查那种类型的考卷。
我在提交表单的时候需要判断用户是否全部答完了,应该怎么实现啊,js、jquery都行,请各位前辈帮忙看看..<form name="myform">
<span>1.喜欢的运动</span>
<input type="radio" name="sport_A" value="A">篮球
<input type="radio" name="sport_B" value="B">足球
<input type="radio" name="sport_C" value="C">排球球
<span>1.喜欢的电视</span>
<input type="radio" name="tv_A" value="A">战争类型
<input type="radio" name="tv_B" value="B">家庭类型
<input type="radio" name="tv_C" value="C">悬疑类型
............
<input type="submit" value="提交">
</form>
我在提交表单的时候需要判断用户是否全部答完了,应该怎么实现啊,js、jquery都行,请各位前辈帮忙看看..<form name="myform">
<span>1.喜欢的运动</span>
<input type="radio" name="sport_A" value="A">篮球
<input type="radio" name="sport_B" value="B">足球
<input type="radio" name="sport_C" value="C">排球球
<span>1.喜欢的电视</span>
<input type="radio" name="tv_A" value="A">战争类型
<input type="radio" name="tv_B" value="B">家庭类型
<input type="radio" name="tv_C" value="C">悬疑类型
............
<input type="submit" value="提交">
</form>
<span>1.喜欢的运动</span>
<input type="radio" name="aaa" value="A">篮球
<input type="radio" name="aaa" value="B">足球
<input type="radio" name="aaa" value="C">排球球
<br>
<span>1.喜欢的电视</span>
<input type="radio" name="bbb" value="A">战争类型
<input type="radio" name="bbb" value="B">家庭类型
<input type="radio" name="bbb" value="C">悬疑类型
<br>
<input type="submit" value="提交">
</form>
<script>
function checkForm(){
var radioArr = new Array("aaa", "bbb");
var _return = true;
var count = radioArr.length;
for(var i = 0; i < count; i++){
var radios = document.getElementsByName(radioArr[i]);
var num = radios.length;
var isCheck = false;
for(var j = 0; j < num; j++){
if(radios[j].checked){
isCheck = true;
}
}
if(!isCheck){
alert('还没做完呢!');
return false;
}
}
}
<span>1.喜欢的运动</span>
<input type="radio" name="A" value="A">篮球
<input type="radio" name="A" value="B">足球
<input type="radio" name="A" value="C">排球球
<span>1.喜欢的电视</span>
<input type="radio" name="B" value="A">战争类型
<input type="radio" name="B" value="B">家庭类型
<input type="radio" name="B" value="C">悬疑类型
<input type="submit" value="提交">
</form>
<Script>
var a = document.getElementsByName("A");
var b = document.getElementsByName("B");
var c;
var d;
for(var i = 0;i<a.length;i++){
if(a[i].checked){
c=true;
}
}
for(var j =0;j<b.length;j++){
if(b[i].checked){
d=true;
}
}if(c&&d){
alert("都答完了");
}
</Script>
关键是我的这些radio是通过从数据库里循环出来的,而且是从两个表里
<input type="radio" name="rad_1_1">..
<input type="radio" name="rad_1_2">..
<input type="radio" name="rad_2_1">..我把从数据库里得到的行数。分别存入隐藏域里
<input type="hidden" name="cungfang_1" value="2">
<input type="hidden" name="cungfang_2" value="3">
现在是不是就要到js中组合了,两个循环得到name然后再怎么进行啊,或是我想错了。还有更简单的办法
<head></head>
<body>
<form name="myform">
<span>1.喜欢的运动</span>
<div id='sport'>
<input type="radio" name="sport_A" value="A">篮球
<input type="radio" name="sport_B" value="B">足球
<input type="radio" name="sport_C" value="C">排球球
</div>
<span>1.喜欢的电视</span>
<div id='TV'>
<input type="radio" name="tv_A" value="A">战争类型
<input type="radio" name="tv_B" value="B">家庭类型
<input type="radio" name="tv_C" value="C">悬疑类型
<div>
....
<input type="button" value="提交" onclick='check()'>
<script>
function check(){
var sport=document.getElementById('sport');
var s1=new Array();
s1=sport.childNodes;
var flag=0;
for(var i=0;i<s1.length;i++){
if(s1[i].checked==true){flag=1;}
}
if(flag==0){alert('喜欢的运动不能为空');return false;}
else{flag=0;}
var tv=document.getElementById('TV');
var s2=new Array();
s1=tv.childNodes;
for(var i=0;i<s2.length;i++){
if(s1[i].checked==true){flag=1;}
}
if(flag==0){alert('喜欢的电视不能为空');return false;}
else{flag=0;}
.....
}</script>
</form>
</body>