定义一个变量,每循环一次加1,把这个变量加在每个input的name后,使名字不一样,这是一个方法

解决方案 »

  1.   

    再者,定义变量两个hidden,点提交时,把name、chenji赋给这hidden,在actionForm中定义的变量名hidden的名字
      

  2.   

    用ArrayList 做,
    把每个对象保存到ArrayList中,  然后循环读取对象的值,
    要嵌套JAVA语言.
    这是我的想法.
      

  3.   

    你这个保存不会出现取不到值的问题,只是更新的时候你需要一个id,Form里加个属性,更新时候取出id然后update<c:forEach var="var" items=${item}>
      <tr>
          <td>
              姓名:
          </td>
          <td>
              <input type="text" name="name" value=${var.name}>
          </td>
          <td>
              成绩:
          </td>
          <td>
            <input type="text" name="chengji" var=${var.name}>
          </td>
          ...
          ...
          <td>
            <input type="">//是“保存”按钮
            <input type="">//是“删除”按钮
          </td>
      </tr>
      <input type="hidden" name="uid" value="${var.id}">//User对象的id
    </c:forEach>
      

  4.   

    如不用ajax,
    同名name,在formbean中是以数组的方式接收,
    另外js确定是第n行的数据,然后[n-1]取指定的值,
      

  5.   

    我相信下面的代码已经很清晰的表达了我的意思了。1. 一个是form
    2. 一个是id
    3. 一个是saveItem事件
    <!--加上一个form-->
    <form id="myForm" name="myForm" action="">
    <c:forEach var="var" items=${item}>
      <tr>
          <td>
              姓名:
          </td>
          <td>
              <!--加入一个id来区分每个name-->
              <input type="text" name="name_${var.id}" value=${var.name}>
          </td>
          <td>
              成绩:
          </td>
          <td>
            <!--加入一个id来区分每个chengji-->
            <input type="text" name="chengji_${var.id}" value=${var.name}>
          </td>
          ...
          ...
          <td>
            <!--增加你的javascript的事件-->
            <input type=""  onclick="saveItem(${id})">//是“保存”按钮
            <input type="">//是“删除”按钮
          </td>
      </tr>
    </c:forEach> </form>
    <script>
    function saveItem(id){
       var form = document.myForm;
       //根据id来获取name
       var name = form.elements['name_'+id].value;
       //根据id来获取chengji
       var chengji = form.elements['chengji_'+id].value;
       //todo,你对数据的处理
       form.submit();
    }
    </script>
    <input type="text" name="chengji" var=${var.name}>这里的var=${var.name}错了,粗心的结果 --> value=${var.name}
      

  6.   


    可是我在actionForm取值输出的时候确实是没有值的啊,那为什么取不到值呢??
      

  7.   

    可是我还没有学过ajax呢,只是知道有这个技术,那请问除了ajax其他的技术能不能解决我这个问题?
      

  8.   


    我的代码中已经取到了我鼠标点击那一行对应记录的id值,只是我在ActionForm中取不到我在文本框中输入的值,为什么??
      

  9.   


    如何你要考虑actionForm中的get/set方法不能通用的话,可以定义两个hidden的input来保持name和chengji。如:<!--加上一个form-->
    <form id="myForm" name="myForm" action=""><!--加上两个hidden的input,使用username来代替你原来的name,在saveItem中区分myForm.name的属性-->
    <input type="hidden" name="username" value="">
    <input type="hidden" name="chengji" value="">
    <c:forEach var="var" items=${item}>
      <tr>
          <td>
              姓名:
          </td>
          <td>
              <!--加入一个id来区分每个name-->
              <input type="text" name="name_${var.id}" value=${var.name}>
          </td>
          <td>
              成绩:
          </td>
          <td>
            <!--加入一个id来区分每个chengji-->
            <input type="text" name="chengji_${var.id}" value=${var.name}>
          </td>
          ...
          ...
          <td>
            <!--增加你的javascript的事件-->
            <input type=""  onclick="saveItem(${id})">//是“保存”按钮
            <input type="">//是“删除”按钮
          </td>
      </tr>
    </c:forEach> </form>
    <script>
    function saveItem(id){
       var form = document.myForm;
       //根据id来获取name
       var name = form.elements['name_'+id].value;
       //根据id来获取chengji
       var chengji = form.elements['chengji_'+id].value;
       
       //username和chengji就对应actionForm中的属性
       myForm.username.value = name;
       myForm.chengji.value = chengji;   form.submit();
    }
    </script>
      

  10.   

    5楼说的不错 带一个 id
    <input type="hidden" name="uid" value="${var.id}">//User对象的id