while(rs.next())
{
%>
<td><input type=checkbox name=checkbox value="<%=rs.getString("ID")%>"></td>
<td><%=rs.getString("")%></td>
提交过去就是所有选中的
{
%>
<td><input type=checkbox name=checkbox value="<%=rs.getString("ID")%>"></td>
<td><%=rs.getString("")%></td>
提交过去就是所有选中的
String [] checks = request.getParameterValues("your_check_name");
if(checks == null )
{
一个都没选
}
else{
for(int i = 0 ; i < checks .length ; i++){
string str=checks [i]);
if(str!=null)
bean.del(str);//str作为主键
}
String[] id=request.getParameterValues("checkboxname");
StringBuffer tmp= new StringBuffer();
for(int i=0;i<id.length();i++)
{
if(id[i]!=null) sql.append( " and id=" + id[i]);
}
String sql = "delete tablename where " + sql.toString().substring(4,sql.toString().length())
//数据库删除
String str1=checks[i];
int strtoint=Integer.parseInt(str1);
。
不对吗?
java.lang.NumberFormatException: 11
for(int i = 0 ; i < checks .length ; i++){
string str=checks [i]);
if(str!=null)
int strtoint=Integer.parseInt(str1);
String [] checks = request.getParameterValues("checkbox");
if(checks == null )
{
out.println("没有选中要删除的记录"); }
else
{
try
{
dbsql condb=new dbsql();
condb.opendb();
for(int i = 0 ; i < checks.length; i++){
String str1=checks[i];
if(str1!=null)
{
int str=Integer.parseInt(str1); java.sql.CallableStatement stmt=condb.conn.prepareCall("{call up_wy_cx_ls_delete(?,?)}");
stmt.setInt(1,str);
stmt.registerOutParameter(2,1);
stmt.execute();
trim()一下看看
int str=Integer.parseInt(str1.trim());
java.lang.NumberFormatException: xh
at java.lang.Integer.parseInt(Integer.java:426)
at java.lang.Integer.parseInt(Integer.java:476)
at org.apache.jsp.del_0005ffromdb$jsp._jspService(del_0005ffromdb$jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
其中xh为checkbox的value
代码片段:
int xh=rset.getInt("XH");
%>
<tr bgcolor=LightGoldenrodYellow>
<td><input type="checkbox" name="checkbox" value="xh"></td>
这种错误!
看来还是接受有问题:???还请高手多出出点子!从贴子上查到:有人说:同名传过来的checkbox是已数组并已","分割传过来的,不知道怎么取
然后在提交页解析出来,select1为checkbox的name,parm为hidden的name,在提交按钮调用ok()函数
<script language="javascript">
function ok()
{
var str="";
var len;
len=document.form1.select1.length;
//alert("len=="+len);
if(len >0)
{
for(i=0;i<len;i++)
{
if(document.form1.select1[i].checked)
{
if(str.length==0)
str=document.form1.select1[i].value;
else
str=str+","+document.form1.select1[i].value;
} }
}
else
{
if(document.form1.select1.checked)
str=document.form1.select1.value;
}
if(str.length==0)
{
alert("注意:请先选择再删除");
return false
}
document.form1.parm.value=str;
}
<input type="hidden" name="parm">
<input type="submit" name="Submit" value="删除" onclick="return ok()" >
//-->
</script>
在提交的页面写如下代码<%
String str= request.getParameter("parm");
System.out.print("this is"+str);
int curPos=0;
int prePos=0;
String subStr=null;
Vector comp=new Vector();
if((str!=null)&&(str.length()!=0))
{
while((curPos=str.indexOf(',',prePos))!=-1)
{
subStr=new String();
subStr=str.substring(prePos,curPos);
if(subStr==null)
{
subStr="";
}
prePos=curPos+1;
comp.addElement(subStr);
}
subStr=new String();
subStr=str.substring(prePos,str.length());
comp.addElement(subStr);
}
for(int m=0;m<comp.size();m++)
{
String tmp=comp.elementAt(m);
System.out.println("the checked value===="+tmp);//tmp就是选种的checkbox的值
}
%>
输出如下:
this isxhthe checked value====xh
<td><input type="checkbox" name="checkbox" value="xh"></td>
该为
<td><input type="checkbox" name="checkbox" value="<%=xh%>"></td>