我用list从数据库读取数据后,用hidden获取list编号,在另一页面显示得到只是第一条记录的编号,为什么?

代码如下:<script>functionEditSelected(){varstr=document.getElementById("chuanzhi").value;... 代码如下:
<script>
function EditSelected()
{
var str=document.getElementById("chuanzhi").value;
window.open("EditSinger.jsp?s_id="+str,"_blank");
}
</script>
<%
for(int i=0;i<singerlist.size();i++){
Singer ThisSinger =(Singer)singerlist.get(i);

%>
<tr align=middle bgColor=#ffffff>
<td><input type="checkbox" name="keys" value="<%=ThisSinger.getId()%>" onClick="colorChange(this,'#FFFFFF')" ></td>
<td><%=ThisSinger.getId()%></td>
<td><%=ThisSinger.getS_name()%></td>
<td><%=ThisSinger.getSex()%></td>
<td><%=ThisSinger.getArea()%></td>
<td width="170"><INPUT class=self_button onClick="DeleteSelected();" type=button value=删除所选项></td>
<td width="170"><INPUT class=self_button onClick="EditSelected();" type=button value=编辑></td>
<td><input type="hidden" name="chuanzhi" id="chuanzhi" value="<%=ThisSinger.getId()%>"></td>
</tr>
<%
}
%>
我就是通过s_id再另一个页面中查询,可是发现传过去的s_id值始终是1,不解。。
展开
 我来答
zywhhw789
2010-11-21 · TA获得超过690个赞
知道小有建树答主
回答量:1036
采纳率:66%
帮助的人:344万
展开全部
当你调用EditSelected方法时 ,传过去的是什么呢
看你方法中的window.open("EditSinger.jsp?s_id="+str,"_blank");
?后面只有s_id参数 所以呢 你传过去的就是s_id这个参数。
这里有2个方法实现你的要求
1 就是通过传过去的s_id通过数据库取出其他字段值
效率不高
2 把其他需要传递的参数写进
window.open("EditSinger.jsp?s_id="+str,"_blank");

麻烦 但不需要再次访问数据库
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yufengchun125
2010-11-23
知道答主
回答量:36
采纳率:0%
帮助的人:30.4万
展开全部
<<td><input type=hidden name=chuanzhi id=chuanzhi ></td>

这里不对

因为你的循环只会生成许多相同id 的hidden,
而var str=document.getElementById(chuanzhi).value; 只会拿到第一个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式