HTML,js:如何使用arraylist的值填充表单字段,并将这个数组列表保存在servlet中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (149)

我有一个带有文本框和下面的html表单,它是一个动态创建的带有编辑和删除超链接的表。当我单击编辑链接时,必须在相应的文本框中填充与该行对应的值,以便用户可以编辑它们。下面是表生成的代码:

<c:forEach var="row" items="${memberList}">
   <input type="hidden" name="chk" id="chk" value="${row.connectionName}" />
    <tr>

        <td><c:out value="${row.connectionName}"/> </td>
        <td><c:out value="${row.desc}"></c:out> </td>

        <td><a href="#" name="EditConn" id="EditConn">Edit</a><td>
        <td><a href="#" name="Delete" id="Delete">Delete</a> </td>
    </tr>
</c:forEach>

从Servlet发送memberList作为request.setAttribute("memberList",memberList);

我得到了正确填充的表值。现在,为了将与特定行对应的值(在编辑单击事件上)输入到表单中的相应文本框中,可以做些什么?

我试着在编辑链接附近使用一个隐藏字段

    <td><a href="#" name="EditConn" id="EditConn" 
    onclick="fnGetName();">Edit</a>
    <input type="hidden" name="connFromList" id="connFromList" 
    value="${row.connectionName}" /><td>   

并试图提醒connFromList值,但它总是给出第一行值。

提问于
用户回答回答于

是的,你正在用相同的值将id设置为每行。最好的方法是将row.connectionName的值作为函数的参数传递。可以是:

<td>
    <a href="#" name="EditConn" id="${row.connectionName}"
       onclick="fnGetName(this.id);">
        Edit
    </a>
<td> 

在javascript方面,函数应该接收一个参数,并且应该如下所示:

<script type="text/javascript">
    function fnGetName(clickedId){
        alert(clickedId);
    }
</script>

扫码关注云+社区

领取腾讯云代金券