用Ajax实现分页和删除(三)

来源:互联网 发布:淘宝网投诉卖家电话 编辑:程序博客网 时间:2024/05/17 23:56


实现删除:

在jsp页面中:

//当点击删除操作的时候

       var delHtmlBtn = getNode("delBtn");

       //注册事件

       delHtmlBtn.onclick = function() {

 

           var ids = "";

           var delchksNode = document.getElementsByName("delchk");

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

              if (delchksNode[i].checked) {

                  ids += delchksNode[i].value + ",";

              }

 

           }

 

           //第一步:创建xmlHttpRequest对象

           var xmlHttp = createXMLHttpRequest();

 

           //清空

           clearNodes(empsHtmlNode);

 

           xmlHttp.onreadystatechange = function() {

              if (xmlHttp.readyState == 4) {

                  if (xmlHttp.status == 200) {

                     //获取 xmlDocument

                     var xmlDoc = xmlHttp.responseXML;

                     //获取跟标签

                     var rootNode = xmlDoc.documentElement;

                     //获取 xml文件中 emp 的所有的元素节点

                     var emps = xmlDoc.getElementsByTagName("emp"); //emp id="xxx"

                     //获取 emp 节点里边所有的孩子节点

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

                         //得到一个具体的emp:

                         var empNode = emps[i];

                         //为emp创建一行

                         var tr = document.createElement("tr");

                         //创建序号的 td

                         var td1 = document.createElement("td");

                         td1.appendChild(document.createTextNode(emps[i]

                                .getAttribute("id")));

                         tr.appendChild(td1);

 

                         var elementNodes = empNode.childNodes; //name ,sex ,age

                         for ( var j = 0; j < elementNodes.length; j++) {

 

                            //节点是否是元素节点

                            if (elementNodes[j].nodeType == 1) {

                                var td2 = document.createElement("td");

                                td2

                                       .appendChild(document

                                              .createTextNode(elementNodes[j].firstChild.nodeValue));

                                tr.appendChild(td2);

                            }

                         }

 

                         var delchk = document.createElement("input");

                         delchk.setAttribute("type", "checkbox");

                         delchk.setAttribute("name", "delchk");

                         delchk.setAttribute("value", emps[i]

                                .getAttribute("id"));

                         tr.appendChild(delchk);

                         empsHtmlNode.appendChild(tr);

 

                     }

 

                     //调用分页创建分页相关的node节点对象

                     pagesNode(pagesHtmlNode, rootNode);

                  }

              }

}

 

           //第二步:规定请求参数

           xmlHttp.open("GET", "./delServlet?ids=" + ids

                  + "&timeStamp=" + new Date().getTime(),true);

           //第三步:发送请求

           xmlHttp.send(null);

       }

 

       //实现全选 全部选的效果

       var chksHtmlNode = getNode("chk");

 

       //注册的事件

       chksHtmlNode.onclick = function() {

           var delchksNode = document.getElementsByName("delchk");

           if (chksHtmlNode.checked) {

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

                  delchksNode[i].checked = "checked";

              }

           } else {

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

                  delchksNode[i].checked = null;

              }

           }

       }

删除所对应的servlet中的方法如下:

public void doGet(HttpServletRequest request, HttpServletResponseresponse)

           throws ServletException, IOException {

       request.setCharacterEncoding("UTF-8");

      

       String ids = request.getParameter("ids");

       //1,2,3,

       String values[] = ids.split(",");

       System.out.println(values.length);

       for(int i=0;i<values.length;i++){

           employeeService.deleteById(Integer.parseInt(values[i]));

          

       }

    request.getRequestDispatcher("/employeeServlet").forward(request,response);

    }

 

原创粉丝点击