<!-- 只要懂代码就知道我的痛,还请大神帮忙出出主意,有没有其他办法了,最后的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> 

解决方案 »

  1.   

    document.usetable<% out.print(ID);%>.action="usetable_xiugai";   中传过来的ID 怎么用
      

  2.   

    所以你为什么不将数据放到session里,然后用<c:foreach>构建表格呢,每次循环把当前ID当参数传递不是更方便?
      

  3.   

    你应该学会如何写js
    这个功能实现的方式很有问题,如果有人教你,个人觉得还是当面问一下的好,或者看下别人如何实现类似功能的,你的实现是非常不专业的,或者说对相关技术存在一定的误解
    想做列表的增删改,你的代码槽点太多,就不多说,如果仅仅是修改你的代码,你可以在按钮绑定事件的地方将ID传进去,比如usetable_xiugai('<%=ID%>'),然后
    function usetable_xiugai(ID)  { 
          document.getElementsByName('usetable'+ID)[0].action="usetable_xiugai"; 
         document.getElementsByName('usetable'+ID)[0].submit(); 
         } 
    当然代码没有经过测试,你自己慢慢体会
      

  4.   

    楼上说的很好,你应该在onclick修改方法里面把参数传过去
    因为运行到js的时候,<% out.print(ID);%>本来就是循环到最后一行了,所以取值永远是最好一个
      

  5.   

                
    onclick="usetable_xiugai(usetable<%=ID %>)"
    我用这个实现了  谢谢各位 刚接触java web 马上开js课了  谢谢