您的位置:首页 > Web前端 > JavaScript

基于jsp和servlet,通过复选框实现批量删除的功能

2014-07-01 22:27 961 查看
复选框实现批量删除

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

/**

* 操作全选复选框事件

**/

function doCheck(obj)

{

var isCheck=obj.checked;

var inputs=document.getElementsByTagName("input");

for(var i=0;i<inputs.length;i++)

{

if(inputs[i].type=="checkbox" && inputs[i].id!="chkMsgId") //刷选出所有复选框

{

inputs[i].checked=obj.checked;

if(isCheck==true){

inputs[i].name="check";

}else{

inputs[i].name="user";

}

}

}

}

/**

* 复选框变化 全选按钮变化

**/

function toChkSon(obj)

{

var isCheck=obj.checked;

obj.name="check";

//alert(obj.name);

if(isCheck==false) //当此复选框未选中 全选为未选

{

document.getElementById("chkMsgId").checked=false;

obj.name="user";

//alert(obj.name);

return ;

}

var chkInputs=getCheckBox(); //获取所有复选框

var j=0;

for(var i=0;i<chkInputs.length;i++)

{

if(chkInputs[i].checked==isCheck)

j++;

else

break;

}

if(j==chkInputs.length) //当所有复选框为同一状态时 赋值全选同一状态

document.getElementById("chkMsgId").checked=isCheck;

}

/**

* 获取所有复选框

**/

function getCheckBox()

{

var inputs=document.getElementsByTagName("input");

var chkInputs=new Array();

var j=0;

for(var i=0;i<inputs.length;i++)

{

if(inputs[i].type=="checkbox" && inputs[i].id!="chkMsgId") //刷选出所有复选框

{

chkInputs[j]=inputs[i];

j++;

}

}

return chkInputs;

}

/**

*提交表单

*/

function submitForm(){

document.getElementById("myForm").submit();

}

</script>

</head>

<body>

<form name="myForm" id="myForm" action="UserDeleteServlet" method="post">

<table align="center" border="1">

<tr>

<td><input type="checkbox" name="chkMsgId" id="chkMsgId" onclick="doCheck(this)" /></td>

<td>姓名</td>

<td>城市</td>

<td>通讯录</td>

<td>修改</td>

</tr>

<c:forEach var="item" items="${requestScope.userlist}">

<tr>

<td><input type="checkbox" onclick="toChkSon(this);" value="${item.id }" id="user" name="user" /></td>

<td>${item.username }</td>

<td>${item.cityname }</td>

<td><a href="GetTelsServlet?uid=${item.id }" target="frame2">通讯录</a></td>

<td><a href="UserUpdateServlet?uid=${item.id }" target="frame1">修改</a></td>

</tr>

</c:forEach>

<tr>

<td><a href="useradd.jsp" target="frame1">增加</a></td>

<!-- <td><a onclick="submitForm()" href="" target="frame1">删除</a></td> -->

<td><input type="button" value="删除" onclick="submitForm()" /></td>

</tr>

</table>

</form>

</body>

</html>

后台的servlet

public class UserDeleteServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//处理乱码

response.setContentType("text/html;charset=UTF-8");

request.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

String users[]=request.getParameterValues("check");//用数组接受前台传来的被选中的复选框的值

if(users!=null){

UserDao userDao=new UserDao();

TelDao telDao=new TelDao();

int m=0;

int n=0;

for(int i=0;i<users.length;i++){//循环删除被选中的数据

int id=Integer.parseInt(users[i]);

m=userDao.delete(id);

//删除一个用户,同时要删除他所属的通讯录(根据用户userid=id来删除)

//System.out.println(id);

//n=telDao.deleteTelByUser(id);

}

if(m>0){//成功

out.println("<script>alert('删除成功!');window.location.href='GetUserSevrlet'</script>");

out.close();

}else{//失败

out.println("<script>alert('删除失败,请重试!');window.location.href='GetUserSevrlet'</script>");

out.close();

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: