循环建的表单 可以针对个体完成修改和删除的操作 修改用的修改提交方法 删除用的删除方法 这两个方法获取到的值都是最后一个表的ID 不能完成前几个表的修改删除

「已注销」 2018-04-20 12:10:56
<!-- 只要懂代码就知道我的痛,还请大神帮忙出出主意,有没有其他办法了,最后的Script有备注 -->
<table border="6" style="margin:auto">
<tr><td></td><td colspan="6" style="text-align:center;">usetable表的修改和删除(直接在格内操作即可)</td></tr>
<tr>
<th>ID</th><th>用户名</th><th>密码</th><th>email</th><th>昵称</th><th>修改选项</th><th>删除选项</th>
</tr>
<%
ResultSet yhgl = (ResultSet)request.getAttribute("yhgl");
String ID="";
try {
while (yhgl.next()) {
ID = yhgl.getString("ID");
String name = yhgl.getString("用户名");
String pass = yhgl.getString("密码");
String email = yhgl.getString("email");
String nc = yhgl.getString("昵称");
%>
<form name="usetable<% out.print(ID);%>" action="" method="post">
<tr><!-- ID 列可设置<input type="hidden" name="pass" value="<%=ID%>"/> 隐藏掉 这里为了方便管理后台设为显示-->
<td><input type="text" name="ID" value="<%=ID%>"/></td>
<td><%=name %></td>
<td><input type="text" name="pass" value="<%=pass%>"/></td>
<td><input type="text" name="email" value="<%=email%>"/></td>
<td><input type="text" name="nc" value="<%=nc %>"/></td>
<td><input type="button" name="xg" value="修改"/ onclick="usetable_xiugai()" style="width:80px;height:22px;"></td>
<td><input type="button" name="sc" value="删除"/ onclick="usetable_shanchu()" style="width:80px;height:22px;"></td>
</tr>
</form>
<%
}
} catch (SQLException e) {
e.printStackTrace();
}
%>
</table>
<Script Language="JavaScript">
function usetable_xiugai() { /* 这里“ID” 总是获取最后一个ID */
document.usetable<% out.print(ID);%>.action="usetable_xiugai";
document.usetable<% out.print(ID);%>.submit();
}
function usetable_shanchu() { /* 这里“ID” 总是获取最后一个ID */
document.usetable<% out.print(ID);%>.action="usetable_shanchu";
document.usetable<% out.print(ID);%>.submit();
}

</Script>
...全文
887 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-04-26
  • 打赏
  • 举报
回复
引用 4 楼 QWERT4745 的回复:
楼上说的很好,你应该在onclick修改方法里面把参数传过去 因为运行到js的时候,<% out.print(ID);%>本来就是循环到最后一行了,所以取值永远是最好一个
onclick="usetable_xiugai(usetable<%=ID %>)" 我用这个实现了 谢谢各位 刚接触java web 马上开js课了 谢谢
「已注销」 2018-04-20
  • 打赏
  • 举报
回复
document.usetable<% out.print(ID);%>.action="usetable_xiugai"; 中传过来的ID 怎么用
QWERT4745 2018-04-20
  • 打赏
  • 举报
回复
引用 4 楼 QWERT4745 的回复:
楼上说的很好,你应该在onclick修改方法里面把参数传过去 因为运行到js的时候,<% out.print(ID);%>本来就是循环到最后一行了,所以取值永远是最好一个
最后一个
QWERT4745 2018-04-20
  • 打赏
  • 举报
回复
楼上说的很好,你应该在onclick修改方法里面把参数传过去 因为运行到js的时候,<% out.print(ID);%>本来就是循环到最后一行了,所以取值永远是最好一个
maradona1984 2018-04-20
  • 打赏
  • 举报
回复
你应该学会如何写js 这个功能实现的方式很有问题,如果有人教你,个人觉得还是当面问一下的好,或者看下别人如何实现类似功能的,你的实现是非常不专业的,或者说对相关技术存在一定的误解 想做列表的增删改,你的代码槽点太多,就不多说,如果仅仅是修改你的代码,你可以在按钮绑定事件的地方将ID传进去,比如usetable_xiugai('<%=ID%>'),然后 function usetable_xiugai(ID) { document.getElementsByName('usetable'+ID)[0].action="usetable_xiugai"; document.getElementsByName('usetable'+ID)[0].submit(); } 当然代码没有经过测试,你自己慢慢体会
G.Jagger 2018-04-20
  • 打赏
  • 举报
回复
所以你为什么不将数据放到session里,然后用<c:foreach>构建表格呢,每次循环把当前ID当参数传递不是更方便?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧