我在写一个程序的时候碰到这样一个问题,页面上现在有10个以上的输入框,并且这10个输入框的name和ID 都是类似的 比如 name1  name2  name3   id1   id2   id3  等 ,现在要对这些输入框的值在后天java程序中进行操作 怎么获取?
   另外这10个输入框下面有个增加输入框按钮  点击以后会再次增加 10个(js已经实现了) 这时候值怎么获取?   页面代码如下:
    <%@ page language="java"%>
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.gt.dataObj.function.jjd.clgl.*,java.util.*,com.gt.formbean.jjd.clgl.*,com.gt.util.common.UTIL"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>表单操作</title>
<style type="text/css">
* { margin: 0; padding: 0}
table.formadd {  border: 1px solid #ccc; border-collapse: collapse}
table.formadd td { border: 1px solid #ccc; padding: 2px; line-height:30px; vertical-align:middle}
table.formadd input { padding: 2px;}.Formdiv { width: 805px; margin: 20px auto;}
.btnpopup { height: 20px; width: 12px; background: #00F; display: block}
.w_input input { position: relative; left: 10px;}
.w_input select { position: relative; left: 10px; width:75%}
</style>
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>js/cookie.js"></script>
<script language ="javascript"  src="<%=basePath%>/My97DatePicker/WdatePicker.js" ></script>
<script type="text/javascript">
$(function(){

    var newHtml = addRow(0,10);
$('.form_btn').before(newHtml);
$('.addForm').click(function(){
var num = $('.form_btn').prev('tr').find('input').eq(0).attr('id');
num = num.replace("u_id","");
num = parseInt(num);
alert(num);
     var newHtml = addRow(num,num+10)
$('.form_btn').before(newHtml);
})

//表单后循环加入新的行
function addRow(start,end)
{
  var foreachnum = end - start;
  var addHtml = new Array();
  for (i = 1;i<=foreachnum;i++)
  {
var numnew = start + i;
addHtml.push('<tr>');
//增加弹出选择的单元格
addHtml.push('<td  align="center"><a class="btnpopup" id="p' + numnew + '"></a><input type="hidden" name="u_id' + numnew +'" id="u_id' + numnew +'" /></td>');

addHtml.push('<td class="num_num">'+ numnew +'</td><td>卡号:</td>');
addHtml.push('<td  class="w_input"><input type="text" name="card'  + numnew +  '" id="card' + numnew + '" /></td>');

addHtml.push('<td>车号:</td>');
addHtml.push('<td  class="w_input"><input type="text" name="car' + numnew + '" id="car' + numnew + '" /></td>');

addHtml.push('<td>资金:</td>');
addHtml.push('<td class="w_input"><input type="text" name="money' + numnew + '" id="money' + numnew + '" /></td>');
addHtml.push('</tr>'); 
  }
return addHtml.join("");
}
})
$(function(){
$('.btnpopup').click(function(){
var u_id = $(this).attr('id');
$.cookie('btn_id', u_id, { expires: 7, path: '/'});
//alert($.cookie('btn_id'));
var str = window.open("<%=basePath%>include/form_ykbd.jsp", "self", "dialogWidth=1140px, height=600, toolbar= no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no,top=50,left=50");
//alert(str) ;
})
})
</script>
</head><body>
<div class="Formdiv">
<form action="">
<table class="formadd" width="805" border="0" cellspacing="0" cellpadding="0">
   <tr>
    <td colspan="8" align="center"><table class="formadd" style=" border: none 0;  border-collapse: collapse " width="805" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>编号:</td>
    <td class="w_input"><input type="text" name="textfield" id="textfield" /></td>
    <td>部门:</td>
    <td class="w_input">
      <select name="select" id="select">
      </select></td>
    <td>日期:</td>
    <td class="w_input"><input type="text" name="textfield2" id="textfield2" onFocus="WdatePicker()" /></td>
    </tr>
    <tr>
       <td>审核人:</td>
    <td class="w_input"><input type="text" name="textfield3" id="textfield3" /></td>
    <td>费用:</td>
    <td class="w_input"><input type="text" name="textfield4" id="textfield4" /></td>
    <td>原因:</td>
    <td class="w_input"><input type="text" name="textfield4" id="textfield4" /></td>
    </tr>
</table></td>
    </tr>
  <tr class="form_btn">
    <td colspan="7" align="right"><label for="button"></label>
      <input type="submit" name="button" id="button" value="保存增油信息" /></td>
    </tr>
  
</table>
<p class="addForm" style="text-align:right">添加行</p>
</form>
</div>
</body>
</html>

解决方案 »

  1.   

    你的意思,就是页面控件的数量是动态的对吧?
    个人建议: 你的id没问题,name不要用name1,name2...这样, 同一类型的name的名字你都取一样的,在后台获取的时候取数组就是了,就跟多个checkbox的取值方式一样,数组中值的顺序跟你页面上控件的顺序是一样的。这个会很简单,不知对你能否行得通。
      

  2.   

    如果你是在要按你来,request.getParameterNames() 能取到所有的name,然后你再去遍历..
      

  3.   

    先在页面获取所有input的值,然后将值拼接成一个字符串传到后台进行处理
      

  4.   

    那你把name id 写成常量,循环把123.....给拼上,再getParameter下
      

  5.   

    建议楼主还是早点用struts吧,struts里面就没这么多这样的问题,用了struts你在ActionForm中定义一个实体就可以完成以上类似的方法,很方便,只是建议
      

  6.   

    数组 我在后台这样定义public String [] card= new String[50]; 
                       public String[] getcard() {
    return card;
          } public void setcard(String[] cart) {
      this.card = card;
      }
    但是打印 一直是空的 不知道怎么回事?是不是我写的有问题?
      

  7.   

    不需要NEW的
    直接将
    td class="w_input"><input type="text" name="textfield" id="textfield" /></td>
    改为
    td class="w_input"><input type="text" name="card" id="textfield" /></td>然后你试试看
      

  8.   

    谢谢大家  1楼的方法 可行 早上是我的set方法写的有点问题现在好了