我的form表单是循环出来的,hidden用来保存id的值,所以每一行的hidden框的名字都是一样的,在每一行都有一个删除的链接,删除的时候需要获取hidden的值,但是如何才能获得id的值呢

解决方案 »

  1.   

    试试这个: document.getElementByTagName('tagName').value
      

  2.   

    直接把id输出在链接上就可以了.<a href="a.jsp?id=<bean:write ...>">
    <a href="a.jsp?id=%{bean......}">
      

  3.   

    ruquest.getParameter("hidden name");
      

  4.   

     楼主,你的意思我是懂了,你要获取 hidden的值呢,hidden的值只是不想让页面中显示,直接或者间接提交到下一个页面进行处理啊,
     根据你的问题,我的想法是这样的,直接在删除链接 <html:link  href="asf.jsp?my=<%=x %>"></html:link>
      其中<%=x%>就是放你循环出来的ID
      如果你非要获取你的Hidden,把删除链接变成删除按钮,触发click事件,然后可以用javaScript中用 document.getElementByTagName('tagName').value   (楼上的,借用一下,不介意吧,嘿嘿,!~!)来获取你的hidden中的id值,然后进行你的删除操作
      

  5.   

    你可以在循环hidden框的时候,将hidden框的名字用name="name[<%=x%>]"来处理
    然后在servlet里面用request.getParameter("name[x]");这里的X就是你hidden框的X的值,也可以把这句放到循环里面
    request.getParameter("name["+x+"]")来拿到循环中所有hidden的值
      

  6.   

    tagName是hidden的name?我的想法是根据记录数的不同给hidden赋不同的name,
    int num=1;
    while(rs.next())
    {
    out.println("<input type='hidden' name='id'"+num+" value='"+rs.getString("id")+"'>");
    out.println("<td><a href='manage.jsp' onclick='javascript:checkvalue()'>删除</a></td>");
    num++;
    }
    但是如何取到对应记录的hidden值呢
      

  7.   

    楼上的朋友关键是如何取到name["+x+"]中x的值
      

  8.   

    既然每一条记录对应一个删除按钮,那么在生成页面时可以动态生成<input type="button" value="删除" onclick="delete(记录id)"/>,
    编写一个通用的javascript删除方法delete,参数为记录id,这样就可以满足你的要求.你的记录是这样产生的吧:
    <%  for(int i = 0; i< list.size(); i++){
             Object obj = (Object)list.get(i); //Object为你的实体类
              %>
                  <tr>
                      <td><%=obj.getName()%></td>
                      ...
                      <td><input type="button" value="删除" onclick="delete(<%=obj.getId()%>)"/></td>
                  </tr>
             <%
        }
    %>
    javascript方法我就不写了。
      

  9.   

    你怎么把hidden的名字搞相同的呢
    那你删除的时候就没有值了
    把hidden的ID用你的循环对象id充当
    如果你的hidden没有ID那也可以把hidden放在每个对象后面
    删除的时候得到这个对象用nextsibling函数得到当前控件下一个节点这个问题还是好解决的!