我做了一个类似问卷调查那种类型的考卷。
我在提交表单的时候需要判断用户是否全部答完了,应该怎么实现啊,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>

解决方案 »

  1.   

    <form action="" name="myform" onsubmit="return checkForm()">
    <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;
    }
    }
    }
      

  2.   

    <form name="myform">
    <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>
      

  3.   

    radio_name.checked为TRUE时,表示选中,为FALSE时表示未选中,你判断完后,想干啥就干啥吧
      

  4.   

    另外,同一组radio的name要一样啊
      

  5.   


    关键是我的这些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然后再怎么进行啊,或是我想错了。还有更简单的办法
      

  6.   

    给你提个warning,radio要name相同id不同才好,这样才是具有排他性
      

  7.   


    <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>