大家帮忙看看这个页面其中的删除链接,点击删除的时候,我是通过隐藏变量把要删除的数据的ID传给JS,然后JS通过location调用action并把ID传过去,可是为什么JS获取的ID的值是undefined呢?还有如果我把 <input type="hidden" name="userid" value="<%=userid%>"> 这个放在for循环外面的话就可以正常获取了
可是如果这么放的话,取的userid的值就是ArrayList最后一个数据的ID值了。
<%@page contentType="text/html;charset=GBK" import="userInfo.UserInfo"%>
<%@page import="java.util.ArrayList" %>
<html>
<head>
<title>帖子列表</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="CSS/index.css"> <script language="javascript">
function del(){
var userid=document.all.userid.value;
if(window.confirm("确定要删除该用户吗?")){
window.location.href="managerDel.action?id="+userid;
}
}
</script>
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="mainbox">
<div id="left">
<br>
<h2><center>管理员</center></h2>
<br>
<br>
<br>
<li><center><a href="http://localhost:8080/BBS/index.html">返回首页</a></center></li>
</div>
<div id="middle">
<h2 align=center>用户信息列表</h2>
<table border=1 class="default" align="center">
<tr><td class="item" width=200>用户名</td><td class="item" width=200>用户密码</td>
<td class="item" width=200>用户昵称</td><td class="item" width=200>用户性别</td>
<td class="item" width=200>修改用户</td><td class="item" width=200>删除用户</td>
</tr>
<%
ArrayList<UserInfo> list=(ArrayList<UserInfo>)request.getAttribute("list");
String userid=null;
for(UserInfo ui:list){
userid=ui.getUserid();
%>
<tr>
<td class="item" align="center"><%=ui.getUsername() %></td>
<td class="item" align="center"><%=ui.getPassword() %></td>
<td class="item" align="center"><%=ui.getNickname() %></td>
<td class="item" align="center"><%=ui.getSex() %></a></td>
<td class="item" align="center"><a href="managerEdit.action?id=<%=userid%>">修改</a></td>
<input type="hidden" name="userid" value="<%=userid%>">
<td class="item" align="center"><a href="JavaScript:del()">删除</a></td>
</tr>
<%
}
%>
</table>
</div>
<div id="right">
<p><img src="PIC/right1.jpg"></p>
<p><img src="PIC/right2.jpg"></p>
<p><img src="PIC/right3.jpg"></p>
</div>
</div>
</div>
</body>
</html>
可是如果这么放的话,取的userid的值就是ArrayList最后一个数据的ID值了。
<%@page contentType="text/html;charset=GBK" import="userInfo.UserInfo"%>
<%@page import="java.util.ArrayList" %>
<html>
<head>
<title>帖子列表</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="CSS/index.css"> <script language="javascript">
function del(){
var userid=document.all.userid.value;
if(window.confirm("确定要删除该用户吗?")){
window.location.href="managerDel.action?id="+userid;
}
}
</script>
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="mainbox">
<div id="left">
<br>
<h2><center>管理员</center></h2>
<br>
<br>
<br>
<li><center><a href="http://localhost:8080/BBS/index.html">返回首页</a></center></li>
</div>
<div id="middle">
<h2 align=center>用户信息列表</h2>
<table border=1 class="default" align="center">
<tr><td class="item" width=200>用户名</td><td class="item" width=200>用户密码</td>
<td class="item" width=200>用户昵称</td><td class="item" width=200>用户性别</td>
<td class="item" width=200>修改用户</td><td class="item" width=200>删除用户</td>
</tr>
<%
ArrayList<UserInfo> list=(ArrayList<UserInfo>)request.getAttribute("list");
String userid=null;
for(UserInfo ui:list){
userid=ui.getUserid();
%>
<tr>
<td class="item" align="center"><%=ui.getUsername() %></td>
<td class="item" align="center"><%=ui.getPassword() %></td>
<td class="item" align="center"><%=ui.getNickname() %></td>
<td class="item" align="center"><%=ui.getSex() %></a></td>
<td class="item" align="center"><a href="managerEdit.action?id=<%=userid%>">修改</a></td>
<input type="hidden" name="userid" value="<%=userid%>">
<td class="item" align="center"><a href="JavaScript:del()">删除</a></td>
</tr>
<%
}
%>
</table>
</div>
<div id="right">
<p><img src="PIC/right1.jpg"></p>
<p><img src="PIC/right2.jpg"></p>
<p><img src="PIC/right3.jpg"></p>
</div>
</div>
</div>
</body>
</html>
<a href="JavaScript:del(<%=userid%>)">删除</a>,在js的这个function里加个参数
')">删除</a></td>
function del(uid){
alert(uid);
}
我喜欢这样做,你这样试试。<input type="hidden" name="userid" value="<%=userid%>">
不知道你为什么上面在定义一个变量接收userid,感觉多余,直接<%=ui.getUserid()%>不是一样吗
多个用户你循环出多个隐藏域,然后name都是userid,你好好想想
var userid=document.all.userid.value;
这样会得到哪个用户的ID呢?
不需要隐藏域这么麻烦啊!,直接把userid传到del方法中就行了。<td class="item" align="center"><a href="JavaScript:del(<%=userid%>)">删除</a></td>js的del方法多加一个参数就行了。 <script language="javascript">
function del(userid){
if(window.confirm("确定要删除该用户吗?")){
window.location.href="managerDel.action?id="+userid;
}
}
</script>