我的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里面。大家帮忙看看哈!试了下没反应有两个问题
第一个
location.href="<c:url value="/servlet/DepartServletact=updateInit&departid="/>"+id;
你的这句会有异常。你把它先注释掉试效果
第二个 js里面 方法名不能使用delete 。至于为什么我也不了解。在这里求解答。
你把那句注释掉。在把方法名改了。就能有弹出效果了js代码两处问题
1:js中没有deparId变量
2: location.href="<c:url value="/servlet/DepartServletact=updateInit&departid="/>"+id;
这个是什么东西你要跳转直接
location.href="/servlet/DepartServletact=updateInit&departid="+id;直接写路径就可以了
你还用什么jstl标签......而且就算用了标签页不是你这样的初步估计departBean这个对象为空或者departId没值如果说JS:alert(id);这句代码没有获取到id的值!
只能说明你的${departBean.departId}这句代码没有获取到值!
你可以这样显示出来看看!
<input type="button" onlcick="delete('${departBean.departId}');" value="删除--${departBean.departId}">