我的js代码是:
<script type="text/javascript">
       function delete(id){
          window.alert(id);
          if(confirm("您真的确认要删除["+departId+"]部门吗?"))
              location.href="<c:url value="/servlet/DepartServlet?act=delete&departId="/>"+id;
       }
   </script>jsp里的代码:
  <td>
<input type="button" onlcick="delete('${departBean.departId}');" value="删除">
 </td>servlet里的代码是:
else if("delete".equals(act)){
String departId1 = request.getParameter("departId");
int departId = TinyUtils.stringCovertInt(departId1);
boolean flag = departDao.deleteDepart(departId);
if(flag==false){
String error = "删除失败!";
request.setAttribute("error",error);
request.getRequestDispatcher("list_depart.jsp").forward(request, response);
}else{
String error = "删除成功!";
request.setAttribute("error",error);
request.getRequestDispatcher("list_depart.jsp").forward(request, response);
}
}不知道为什么,但就是没有出现自己要获取的id号,数据根本就传不到js里面。大家帮忙看看哈!

解决方案 »

  1.   

    如果说JS:alert(id);这句代码没有获取到id的值!
    只能说明你的${departBean.departId}这句代码没有获取到值!
    你可以这样显示出来看看!
    <input type="button" onlcick="delete('${departBean.departId}');" value="删除--${departBean.departId}">
      

  2.   

    能够获得id值啊  但是就是在js里得不到
      

  3.   

    是不是没办法出发onclick事件啊?
      

  4.   

    初步估计departBean这个对象为空或者departId没值
      

  5.   

    <input type="button" onlcick="delete('${departBean.departId}');" value="删除">
    可能写法有问题吧 楼主以前有这种写法吗??
      

  6.   

     你的方法传进去的是 变量id ---- function delete(id){}
    但你的     if(confirm("您真的确认要删除["+departId+"]部门吗?"))
                  location.href="<c:url value="/servlet/DepartServlet?act=delete&departId="/>"+id;
           }
    整个js根本没有departId变量,所以就错了。 把departId换为id试试
      if(confirm("您真的确认要删除["+id+"]部门吗?"))
                  location.href="<c:url value="/servlet/DepartServlet?act=delete&departId="/>"+id;
           }
      

  7.   

    我把js改为了这样
     <script type="text/javascript">
           function delete(id,name){
              window.alert(id);
              if(confirm("您真的确认要删除["+name+"]吗?"))
                  location.href="<c:url value="/servlet/DepartServlet?act=delete&departid="/>"+id;
           }
           function update(id,name){
              if(confirm("您真的确认要修改["+name+"]的信息吗?")){
                   location.href="<c:url value="/servlet/DepartServlet?act=updateInit&departid="/>"+id;
                }
           }jsp代码是这样:
    <td>
                          <input type="button" onclick="update('${departBean.departId}','${departBean.departName}');" value="修改">
                      </td>
                      <td>
                          <input type="button" onlcick="delete('${departBean.departId}','${departBean.departName}');"  value="删除--${departBean.departId}">
                      </td>可是按这个按钮,还是没有反应。
      

  8.   

    试了下没反应有两个问题 
    第一个
       location.href="<c:url value="/servlet/DepartServletact=updateInit&departid="/>"+id;
    你的这句会有异常。你把它先注释掉试效果
    第二个 js里面 方法名不能使用delete 。至于为什么我也不了解。在这里求解答。
    你把那句注释掉。在把方法名改了。就能有弹出效果了
      

  9.   

    js代码两处问题
    1:js中没有deparId变量
    2: location.href="<c:url value="/servlet/DepartServletact=updateInit&departid="/>"+id;
    这个是什么东西你要跳转直接
     location.href="/servlet/DepartServletact=updateInit&departid="+id;直接写路径就可以了
    你还用什么jstl标签......而且就算用了标签页不是你这样的