这是我的一行选项.titleNum 为自增变量,value传的是A项的答案,       <tr>
        <td>
         A:<input type="radio" name="<%=titleNum%>" value="<%=Ascore%>"><%=A%>
        </td>
        <td>
        B:<input type="radio" name="<%=titleNum%>" value="<%=Bscore%>"><%=B%>
        </td>
        </tr>

<tr>
<td>
        C:<input type="radio" name="<%=titleNum%>" value="<%=Cscore%>"><%=C%>
        </td>
        <td>
         D:<input type="radio" name="<%=titleNum%>" value="<%=Dscore%>"><%=D%>
        </td>
</tr>在结果叶面中
       for(int i=0;i<result.length;i++){
          result[i] = request.getParameter((i+1) + "");
       }
请问比如选A就直接得到了A的Score ,怎么知道用户选项了A项呢?

解决方案 »

  1.   

    每个后面加个hiddenA后面对应的HIDDEN为1到最后加起来看是否等于所有题目数就OK
      

  2.   

    增加一个hidden,那和选A,选B也没有什么关系啊,两个怎么关联起来,
    请详细点好吗?
      

  3.   

    <input type = "hidden" name="<%=title%>+A" value=????
      

  4.   

    input里面加id  如果getelementbyid得到的元素都是a,则js
      

  5.   

    人家要选,有什么办法了万一所有的答案确实是A了?
    哪全场就没人考到满分了。LZ这不是逼人犯错吧?
      

  6.   

    加计数器numa,numb,numc,numd,最后判断和总题数是否相等
      

  7.   

    请问比如选A就直接得到了A的Score ,怎么知道用户选项了A项呢?
    ------你把四个项都初始为没被选中就行了啊
      

  8.   

    这是我的代码  加checked解决了不能漏选的问题.
    但是怎么知道用户全部选了某一项呢?比如说全选了A,或全选了B项.
            <tr>
            <td>
             A:<input type="radio" name="<%=titleNum%>" value="<%=Ascore%>" Checked><%=A%>
            </td>
            <td>
            B:<input type="radio" name="<%=titleNum%>" value="<%=Bscore%>"><%=B%>
            </td>
            </tr>

    <tr>
    <td>
            C:<input type="radio" name="<%=titleNum%>" value="<%=Cscore%>"><%=C%>
            </td>
            <td>
             D:<input type="radio" name="<%=titleNum%>" value="<%=Dscore%>"><%=D%>
            </td>
    </tr>husl(呼哨) 你是什么意思呢?好像没有理解我的意思哟.
    susu_0807(苏苏) fffddd(杀我者死) :不是我逼考生,是经理逼我.
      

  9.   

    偶想到一个笨方法,希望对你能有点用:)
    方法思想是写一校验函数,在用户答完题提交时进行校验。
    该函数大致算法如下:
    设置一变量数组var total=new Array(4);用于记录用户选择A、B、C、D的个数。
    对于页面内的每一道题,如果用户选择的是A则变量total[0]+1,B则total[1]+1,C则total[2]+1,D则total[3]+1。最后数组中如果有一个元素的值等于题数,则用户全部选择了某一选项。下面是一个简单的实现代码,其中length代表题的总个数,代码由瑕疵,仅供参考:)<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    <script language="javascript">
    function total()
    {
    var total = new Array(4);
    for (var n = 0;n<4;n++)
    {
    total[n] = 0;
    }
    var length = 2;
    for(var i = 1;i<=length;i++)
    {
    for(var j = 0;j<4;j++)
    {
    if(document.getElementsByName(""+i)[j].checked)
    {
    total[j]+=1;
    }
    }
    }
    alert("total="+total);
    for(var m = 0;m<4;m++)
    {
    if(total[m] == length)
    {
    alert("输入不合法!");
    return false;
    }
    }
    alert("校验成功!");
    return true;
    }
    </script>
    </head><body>
    <form name="form1">
    <table name="tab" id="tab">
    <tr>
    <td>A:<input type="radio" name="1" value="1"/>A Value</td>
    <td>B:<input type="radio" name="1" value="2"/>B Value</td>
    <td>C:<input type="radio" name="1" value="3"/>C Value</td>
    <td>D:<input type="radio" name="1" value="4"/>D Value</td>
    </tr>
    <tr>
    <td>A:<input type="radio" name="2" value="1"/>A Value</td>
    <td>B:<input type="radio" name="2" value="2"/>B Value</td>
    <td>C:<input type="radio" name="2" value="3"/>C Value</td>
    <td>D:<input type="radio" name="2" value="4"/>D Value</td>
    </tr>
    <tr><td align="center" colspan="4"><input type=button onclick="total()" value="forTotal"/></td></tr>
    </table>
    </form>
    </body></html>
      

  10.   

    fliquan(沙漠里的鱼) 你的代码可以用,只是我的length题目的个数是不一定的,从数据库中取
      

  11.   

    我在jsp 中嵌入java代码从数据库中取得题目总数,在javascrip脚本中如何使用?
      

  12.   

    <%
        int count = 0;
        String type1 = (String)session.getAttribute("type");
        System.out.println("type:" + type1);
         try{
         String sql = "select count(id) as max from question where type = '"+type1+"'";
           ResultSet rs = con.query(sql);        rs.next();
           count =  rs.getInt("max");
           rs.close();
           }catch(Exception e){
             e.printStackTrace();
           }
           System.out.println("count:" + count);
          %>
    这里得到了题目总数,
    可是在脚本中
    <script language="javascript">
    function total()
    {
    var total = new Array(4);
    for (var n = 0;n<4;n++)
    {
    total[n] = 0;
    }
    var length = count;//这里好像不行啊.
    for(var i = 1;i<=length;i++)
    {
    for(var j = 0;j<4;j++)
    {
    if(document.getElementsByName(""+i)[j].checked)
    {
    total[j]+=1;
    }
    }
    }
    alert("total="+total);
    for(var m = 0;m<4;m++)
    {
    if(total[m] == length)
    {
    alert("输入不合法!");
    return false;
    }
    }
    alert("校验成功!");
    return true;
    }
    </script>
      

  13.   

    fliquan(沙漠里的鱼) 谢谢你的解答,你解决了我的大部分部题,
    还有一个问题
    不能漏答,我在你的代码上加上
    for(var m = 0;m<4;m++)
    {
    if(total[m] == length)
    {
    alert("无效作答!");
    return false;
    }
    if(total[m]==0){  //防止漏答
    alert("无效作答");
    return false; }
    }
    问题是这样,先漏答,点提钮,出现无效作答,但全部答上,仍是无效作答
      

  14.   

    a=1, b=2, c=4, d=8结果把所有的题目的答案相或,或完的结果是1或者2或者4或者8的,就说明所有的选项都一样。
      

  15.   

    海魂是意思是什么?
    a=1, b=2, c=4, d=8???
      

  16.   

    楼上的想法很好,顶一下先!
    你写的这段防止漏答得代码不会起作用。
    if(total[m]==0){  //防止漏答
         alert("无效作答");
         return false;
    }
    这段代码是用来检验A、B、C、D四个选项是否都被选过。例如说,如果在所有的题中A重未被选过,那这段代码就会执行(total[0]==0),返回false。
    如果想防止漏答可以有两种方法,一是在页面代码中加入默认项,你可以使A或其他选项是默认选中的。
    二可以把答案中A、B、C、D的个数相加,如果等于题数,就是没有漏答,如果小于提数就是有漏答。
    <!--防止漏答-->if(total[0]+total[1]+total[2]+total[3] < length)
    {
        alert("有漏答题目!");
        return false;
    }
    }
      

  17.   

    var length = count;//这里好像不行啊.改成var length = <%= count %>;