比如下面一段代码:for(...){
         out.println("<Td align=center><input type=text size=8 name="+rs.getString("id")+" onkeypress='checkNumber()'></td>");
         out.println("<Td align=center><input type=text size=8 name=has_two_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
         out.println("<Td align=center><input type=text size=8 name=has_one_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
         out.println("<Td align=center><input type=text size=8 name=has_no_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
}
这样就在页面上打印出name不同的文本框,在这种name会变的情况下怎么做JS取name值?

解决方案 »

  1.   

    onkeypress='checkNumber(this)'
    在事件中把当前对象传进去function checkNumber(obj){
        alert(obj.value);
    }
      

  2.   


    String strIds="";
    for(...){
      // 形成 HTML 对象时,记录这些 id
      strIds += rs.getString("id")+",";
        out.println("<Td align=center><input type=text size=8 name=has_two_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
        out.println("<Td align=center><input type=text size=8 name=has_one_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
        out.println("<Td align=center><input type=text size=8 name=has_no_"+rs.getString("id")+" onkeypress='checkNumber()'></td>");
    }
    //在使用时,在js代码段中间输出
    out.println("<script>var ids='"+strIds+"'.split(',');</script>");
    //你可以在js中调用这个数组 ids[] 得到 id 或 对象名称
      

  3.   

    谢谢gengzhw兄,小弟解决了,采用的方法虽然不太一样,但思路与你是差不多的,开始是思维走入死角,变通了了一下就好了也谢谢其他两位兄弟,可惜你们讲的不是我讲的那个意思