<script language="javascript">
<!--
   function del(form)                                  <!--function del(form)-->

   if(confirm("您确信要删除吗?")){
     var count = 0;
     var titels= "";
     var topicTitles = document.getElementsByName("checkbox");
     for (var i = 0; i < topicTitles.length; i++) {
    if (topicTitles[i].checked) {
        titels+= topicTitles[i].value + ",";                
        count ++;
    }
     }
     if (count <= 0) {
    alert("至少要选择一条数据");
    return;
     } 
     window.location="del.jsp?checkbox="+titels;
   }
}
</script>
</head><body><form action="del.jsp" method="post" name="form" >
<table width="500" height="507"  cellspacing="10" align="center">
 <% sql="SELECT * FROM topicInfo";
     rs=smt.executeQuery(sql);
 while(rs.next())
  
 {%> 
  <tr>
    <td width="439"><input type="checkbox" name="checkbox"  value=<%=rs.getInt("topicid")%> /><%=rs.getString("topictitle")%></td>
    <td width="205"><%=rs.getString("topicuserid")%></td>
    <td width="158"><%=rs.getTime("topictime")%></td>
  </tr><%}%>
 
  <tr>
    <td height="60" align="center"><font size="4" color="#FF0000">发帖 </font></td>
    <td colspan="2" align="center"><font size="4" color="#FF0000"><a href="javascript:del(this.form)">删除</a></font></td>
  </tr>
</table>
</form>
  传递到 del.JSP页面后 怎样分割checkbox的值

解决方案 »

  1.   

    看样子楼主传到del.jsp页面的checkbox的值类似于"1,2,3,4..."这样的东西了。那就可以用String类的split(String regex) 方法来分隔。具体用法楼主可查看JDK文档。
      

  2.   

    String aa[];
    aa=checkbox.split(",");
      

  3.   

    String[] checks=checkbox.split(",");
    for(int i=0;i<checks.length();i++){
       ......
    }
      

  4.   

    String[] st=request.getParameterValues("checkbox").split(",");我这样写了 提示错误啊 
    Cannot invoke split(String) on the array type String[]
    这是提示的错误
      

  5.   

    你这样做会出现空字符串现象:
    你的checkbox  肯定是以“,”结尾
    你得处理掉那个末尾的“,”
    最好的方法是在生成字符串时
    ...
    if (topicTitles==null) {
      alert("至少要选择一条数据");
      return;
      }  
      window.location="del.jsp?checkbox="+titels;
      }
    titels=topicTitles[0].value;
    for (var i = 1; i < topicTitles.length; i++) {
      if (topicTitles[i].checked) {
      titels+=","+topicTitles[i].value ; 
      }
      }
    ...
    你可以借鉴一下
      

  6.   

    jsp页面里面还有JDBC。这样维护性太差了,还是尽快转到SSH框架上吧
      

  7.   


    String[] st = request.getParameter("checkbox").split(",");
    即可。getParameterValues方法本身会返回一个String数组。你那里是用window.location转进的,url只有一个checkbox参数,不需要用这个方法。
      

  8.   

    都是以,分隔开来,用split(",")写成数组,就是那些提交的值
      

  9.   


    我是个莱鸟啊 怎么用 SSH啊?
      

  10.   

    我传过来的 checkbox的值 不止是一个
      

  11.   

    window.location="del.jsp?checkbox="+titels;
    因为你组装了,所以参数只有一个的了,真正的checkbox是多个同名参数的.
    你这样子是checkbox=a,b,c,d,
    参数只是有一个,那就是checkbox,值是"a,b,c,d,"至于你再分出来那就是另一个回事了.