程序如下:当我任意选择了几个之后,书号 和 份数 都是准确的传过去了,就是中间的 书名 不对。(书名是依次排下来的...)1.jsp:
<%@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head>
<script language="javascript">
<!--
        function myClick()
        {
         var obj1 = document.getElementsByName("langtype");
         var obj2 = document.getElementsByName("langtype1");
        
         var fs1 = '1';
         var fs2 = '份数';
        
         for(i=0;i<obj1.length;i++)
         {
         if(event.srcElement!=obj1[i])
         continue;
                else
                {
         if(obj1[i].checked == true)
         {                  
         obj2[i].disabled = false;
         obj2[i].value = fs1;
         }
         else
         {
         obj2[i].disabled = true;
         obj2[i].value = fs2;
         }
                    break;
         }
         }
        }
        //-->
        </script>        
</head> <body>
<form name="myForm" action="./result.jsp">
     <table>
             <tr>
             <td><input name="langtype" type="checkbox" value="1111" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="AAAA"></td>
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>
             <tr>
             <td><input name="langtype" type="checkbox" value="2222" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="BBBB"></td>        
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>
             <tr>
             <td><input name="langtype" type="checkbox" value="3333" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="CCCC"></td>
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>
             <tr>
             <td><input name="langtype" type="checkbox" value="4444" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="DDDD"></td>        
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>
             <tr>
             <td><input name="langtype" type="checkbox" value="5555" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="EEEE"></td>
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>
             <tr>
             <td><input name="langtype" type="checkbox" value="6666" onclick="myClick();"></td>
             <td><input name="langtype0" type="text" value="FFFF"></td>        
             <td><input name="langtype1" type="text" value="份数" disabled /></td>
             </tr>                                 
     </table>
<input type="submit" value="提    交">
</form>
</body>
</html>2.jsp:
<%@ page contentType="text/html;charset=GBK" language="java" %>

<table>
<tr>
<td>书号</td>
<td>书名</td>
<td>份数</td>
</tr>

    <%
String langtype[] = request.getParameterValues("langtype");
String langtype0[] = request.getParameterValues("langtype0"); 
String langtype1[] = request.getParameterValues("langtype1");

if(langtype != null)

int size = java.lang.reflect.Array.getLength(langtype);  for(int i=0;i<size;i++) 
{
%>
<tr>
<td><input type="text" name="sh<%=i%>" value="<%=langtype[i]%>"></td>
<td><input type="text" name="sm<%=i%>" value="<%=langtype0[i]%>"></td>
<td><input type="text" name="fs<%=i%>" value="<%=langtype1[i]%>"></td>
</tr>
   <%
}
}
%> 
</table>

解决方案 »

  1.   

    1.jsp 中的form action 是 2.jsp
      

  2.   

    从 地址栏 中的信息可以看出中间的书名都传了过去,并且是从第一个开始的...http://server:8080/temp/2.jsp?langtype=1111&langtype0=AAAA&langtype1=1&langtype0=BBBB&langtype0=CCCC&langtype0=DDDD&langtype=5555&langtype0=EEEE&langtype1=5&langtype0=FFFF
      

  3.   

    request.getParameterValues 
    可以传M个..
      

  4.   

    用POST方法传
    <form name="myForm" method=post action="./result.jsp" >
      

  5.   

    我没有加 method="post" 是为了在地址栏中看看它的传值信息: http://server:8080/temp/2.jsp?langtype=1111&langtype0=AAAA&langtype1=1&langtype0=BBBB&langtype0=CCCC&langtype0=DDDD&langtype=5555&langtype0=EEEE&langtype1=5&langtype0=FFFF method="post" 一直是加着的......这个问题真的很奇怪!
      

  6.   

    http://server:8080/temp/2.jsp?langtype=1111&langtype0=AAAA&langtype1=1&langtype0=BBBB&langtype0=CCCC&langtype0=DDDD&langtype=5555&langtype0=EEEE&langtype1=5&langtype0=FFFF这个是你的全部URL??
    <form name="myForm" action="./result.jsp">
    不是提交到result.jsp中的么?还有你的URL中langtype好象少了
      

  7.   

    http://server:8080/temp/2.jsp?
    langtype=1111^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^0
    &langtype0=AAAA
    &langtype1=1
    &langtype0=BBBB
    &langtype0=CCCC
    &langtype0=DDDD
    &langtype=5555^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1
    &langtype0=EEEE
    &langtype1=5
    &langtype0=FFFF你的循环是基于langtype参数的,这个里面langtype的size确实是2个呀。怎么会是3个呢?
      

  8.   

    楼主传了两组值,最后是想得到:
      langtype=1111
     &langtype0=AAAA
     &langtype1=1
      
     &langtype=5555
     &langtype0=EEEE
     &langtype1=5
     
    两组吧?可是现在你看到了吗,在你想得到的两组之间还有多余的冬冬...http://server:8080/temp/2.jsp?
      langtype=1111
     &langtype0=AAAA
     &langtype1=1
     
     &langtype0=BBBB...................这是多余的冬冬...
     &langtype0=CCCC...................这是多余的冬冬...
     &langtype0=DDDD...................这是多余的冬冬...
     
     &langtype=5555
     &langtype0=EEEE
     &langtype1=5
     
     &langtype0=FFFF...................这是多余的冬冬...为什么?因为 langtype0 都传过来了......
      

  9.   

    解决 langtype0  是关键...
      

  10.   

    To:china2001ok(开心拽拽) 我在说明了: 1.jsp 中的form action 是 2.jsp另外我是传两组值呀?
      

  11.   

    的确如此,我的 langtype0  总是都传了!!!真是不知道怎么回事?!....
      

  12.   

    你的某个param是不是含空格,如果是的话在传的时候会把后面的内容都切掉的~~
      

  13.   

    的确如此,我的 langtype0  总是都传了!!!真是不知道怎么回事?!
    ----------------------------------------
    页面表单中所有的<input type="XX" name="YY" value="ZZ">在表单用post上传时会被加入到request中,以“YY=ZZ”的形式;
    so 你的langtype0总是会都传到2.jsp的
      

  14.   

    1.
    var obj1 = document.getElementsByName("langtype");
    var obj2 = document.getElementsByName("langtype1");
    var obj3 = document.getElementsByName("langtype0");  //-------加2.if(obj1[i].checked == true)
             {                  
             obj2[i].disabled = false;
             obj2[i].value = fs1;
    obj3[i].disabled = false;//加
             }
             else
             {
             obj2[i].disabled = true;
             obj2[i].value = fs2;
    obj3[i].disabled = true;//加
             }3.<input name="langtype0" type="text" value="AAAA" disabled></td>    //改.
    Try it.
      

  15.   

    注:
    3.所有的langtype0都   disabled
      

  16.   

    全部修改1.jsp如下:
    <%@ page contentType="text/html;charset=GBK" language="java" %>
    <html>
    <head>
    <script language="javascript">
    <!--
            function myClick()
            {
             var obj1 = document.getElementsByName("langtype");
             var obj2 = document.getElementsByName("langtype1");
    var obj3 = document.getElementsByName("langtype0");
            
             var fs1 = '1';
             var fs2 = '份数';
            
             for(i=0;i<obj1.length;i++)
             {
             if(event.srcElement!=obj1[i])
             continue;
                    else
                    {
             if(obj1[i].checked == true)
             {                  
             obj2[i].disabled = false;
             obj2[i].value = fs1;
    obj3[i].disabled = false;
             }
             else
             {
             obj2[i].disabled = true;
             obj2[i].value = fs2;
    obj3[i].disabled = true;
             }
                        break;
             }
             }
            }
            //-->
            </script>        
    </head> <body>
    <form name="myForm" action="./result.jsp">
         <table>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="1111" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="AAAA" disabled></td>
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="2222" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="BBBB" disabled></td>        
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="3333" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="CCCC" disabled></td>
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="4444" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="DDDD" disabled></td>        
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="5555" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="EEEE" disabled></td>
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>
                 <tr>
                 <td><input name="langtype" type="checkbox" value="6666" onclick="myClick();"></td>
                 <td><input name="langtype0" type="text" value="FFFF" disabled></td>        
                 <td><input name="langtype1" type="text" value="份数" disabled /></td>
                 </tr>                                 
         </table>
    <input type="submit" value="提    交">
    </form>
    </body>
    </html>