将所有选中的复选框值从动态生成的JSP表中获取到servlet?

时间:2018-11-28 02:32:03

标签: java forms jsp servlets parameters

我正在按原样在我的results.jsp中显示来自Table A的查询结果:

<form action="InsertToTableB" method="post">
       <table>
            <tr>
                <th>Select</th>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Email</th>
            </tr>

            <c:forEach var="user" items="${resultData}">
            <tr>
                <td><input type="checkbox" name="selected" value="<c:out value='${user.userID }' />"/></td>
                <td><c:out value="${user.fName }"/></td>
                <td><c:out value="${user.lName }"/></td>
                <td><c:out value="${user.email }"/></td>    
            </tr>
            </c:forEach>    
        </table>
   <button type="submit" value="Submit">Insert to Table B</button>
   <button type="submit" value="Submit">Delete from Table A</button>
</form>

这个form被传递到我的InsertToTableB servlet中。

如何仅从生成的表<input type="checkbox" name="selected" value="<c:out value='${user.userID }' />"/>中获取所选值,以及 我怎么知道哪个按钮(Insert to Table BDelete from Table A)被按下了?

我只使用<input type="text">,并使用.getParameter('name')将值放入servlet,而这些是Strings

checkbox输入类型是否相同?

我可以在表单中有2个或更多具有不同功能的提交按钮吗?

一张带有示例数据的我的桌子的照片:

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要将name='selected'更改为checked='checked'

所以改变

<input type="checkbox" name="selected" value="<c:out value='${user.userID }' />"/>

<input type="checkbox" checked="checked" value="<c:out value='${user.userID }' />"/>

要获取所有选中的checkbox,可以使用jQuery,如下所示:

var checkedEles = $("input:checkbox:checked");