我使用Map-backed ActionForm在页面中动态生成一组radio,现在我想使用js验证radio是否全部选中,js应该怎么写啊?
jsp中:<html:form action="/userInvest.do">
            <logic:iterate id="question" collection="${invest.questions}" indexId="index">
            ${index+1}.${question.questionName}<br/>
                <logic:iterate id="answer" collection="${question.answers}">
                    <html:radio property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:radio>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </logic:iterate>
                <br/><br/>
            </logic:iterate>
            <html:submit value="提交"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <html:reset><bean:message key="login.reset"/></html:reset>
</html:form>

解决方案 »

  1.   


    var obj=document.getElementsByName("radioname");
    if(obj==null){
    return;
    }
    for(var i=0;i<obj.length;i++){
     if (obj[i].checked){
        dosomthing.....
     }
    }
      

  2.   

    var tmp=0;
    var obj=document.getElementsByName("radioname");
    if(obj==null){
    return;
    }
    for(var i=0;i<obj.length;i++){
     if (obj[i].checked){
        tmp++;
     }
    }
    if(tmp==obj.length){
    alert('全部选中');
    }
      

  3.   

    var length = <%=length%>
    function check(){
    var len=10
    for(i=0;i<len;i++){
    var radio=eval("document.forms[0].value"+i); 
    if(radio.checked==false){
    return false
    }
    }
    return true
    }
      

  4.   

        function check(){
            var len=<%=length%>
            for(i=0;i<len;i++){
                var radio=eval("document.forms[0].value"+i); 
                if(radio.checked==false){
                    return false
                }
            }
            return true
        }
      

  5.   


    var len=<%=length%>这个length是用前面的action传过来的吗?
      

  6.   

    我用ACTION将length传了过来,可是
    var radio=eval("document.forms[0].value"+i);
    这句好像没起作用
      

  7.   

    我现在页面的代码如下:<html:form action="/userInvest.do" onsubmit="return check()">
                <logic:iterate id="question" collection="${invest.questions}" indexId="index">
                ${index+1}.${question.questionName}<br/>
                <c:if test="${question.questionType=='0'}">
                    <logic:iterate id="answer" collection="${question.answers}">
                        <html:radio property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:radio>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    </logic:iterate>
                    <br/><br/>
                    </c:if>
                    <c:if test="${question.questionType=='1'}">
                        <logic:iterate id="answer" collection="${question.answers}">
                            <html:multibox property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:multibox>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        </logic:iterate>
                        <br/><br/>
                    </c:if>
                </logic:iterate>
                <html:submit value="提交"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <html:reset><bean:message key="login.reset"/></html:reset>
    </html:form>radio , multibox都是动态生成的。
    我需要一个比较通用的判断是否有题目没有选
      

  8.   


    <body><form name="form1" onsubmit="return se()">
    <input type="radio" name="abc"  />aaaa
    <input type="radio" name="abc" />bbbb
    <input type="submit" />
    </form>
    </body>
    </html>
    <script type="text/javascript">
    function se()
    {
    var a=document.getElementsByName("abc");

    var temp=0;
    for(var i=0;i<a.length;i++)
    {
    if(a[i].checked ==true)
    {
    temp=1;
    }
    }
    if(temp == 0 )
    {
    alert("请选择");
    return false;
    } }
    </script>
      

  9.   

    <script language="JavaScript">
    function check_radio(){
       var num = 0;
       for(var i=0; i<document.formname.radioname.length; i++) {
         if(document.formname.radioname[i].checked) num++;
     }
       if(num == document.formname.radioname.length) retrun true;
    }</script>
      

  10.   

    如果是radio有简单的方法:<script language="JavaScript"> 
    function check_radio(){ 
      if(document.MAIN_FORM.answer.value == ""){
        alert("no checked");
        document.MAIN_FORM.answer.focus();
        return;
      }
    } </script>
    <form name="MAIN_FORM"> 
    <input type="hidden" name="answer"  />
    <input type="radio" name="answer_dis" value="a" onclick="document.MAIN_FORM.answer.value=this.value" />a 
    <input type="radio" name="answer_dis" value="b" onclick="document.MAIN_FORM.answer.value=this.value" />b
    </form>
      

  11.   

    经过一个晚上的查找,修改,终于起作用了。还是晚上效率比较高啊。function check(){
            var len = ${investSize};
            for(i=0;i<len;i++){
                var flag = false;
                var radio= document.getElementsByName("value("+i+")");
                for(j=0;j<radio.length;j++){
                    if(radio[j].checked==true) flag = true;
                }
                if(flag==false){
                    alert("请不要漏答题目!");
                    return false
                }
            }
            return true
    }
      

  12.   

    原来你的每一个valuei还是一组radio呀不好意思,没看清楚楼主说的内容,呵呵