gpt4 book ai didi

javascript - Jsp将动态复选框的值发送到servlett

转载 作者:行者123 更新时间:2023-12-03 01:54:59 24 4
gpt4 key购买 nike

我对 html/jsp/servlett 编程领域完全陌生。实际上我正在开发一个创建动态复选框的项目。它们每个都应该有不同的值。

<c:forEach items="${sessionScope.camlist}" var="cam">
<form id="updatePermission" method="post" action="<%=request.getContextPath() %>/PermissionHandling?operation=update_permissions&id=${cam.kameraid}" >
<table>
<td>${cam.kameraid}</td>
<script>
console.log("${cam.kameraid}");

</script>
<td>'${cam.standort}'</td>
<td>'${cam.url}'</td>
<td>${cam.aufnahmeinterval}</td>
<td>
<c:set var="checked" value="false"/>
<c:forEach items="${sessionScope.permissionList}" var="perm">
<c:if test="${perm.kameraid eq cam.kameraid}">
<input type="checkbox" name="selection" checked="checked" value="${cam.kameraid}" onClick="callServlett()">
<c:set var="checked" value="true"/>
<c:set var="continueExecuting" scope="request" value="false"/>
</c:if>
</c:forEach>
<c:if test="${checked eq false}">
<input type="checkbox" name="selection" value="${cam.kameraid}" onClick="callServlett()">
</c:if>
</td>
</table>
</form>
</c:forEach>

</div>
</section>
<script>

function callServlett()
{
document.getElementById("updatePermission").submit();
}
</script>

这样做后,我得到一个表,其中每行的复选框都根据用户是否具有权限进行初始化。当通过点击修改复选框时,我想将cameraid的计算提交到我的servlett,由它处理其余的工作。

Servlett:
String[] selections = request.getParameterValues("selection");

选择始终为“3”,除非我单击第一个复选框,然后它为空。

谁能告诉我为什么这段代码不能按我的预期工作?

最佳答案

您需要输入 <form> forEach 之外的标签环形。如果您将每个循环放入其中,则会创建新的表单标记,并且它可能无法按您想要的方式工作。

<form id="updatePermission" method="post" action="<%=request.getContextPath() %>/PermissionHandling?operation=update_permissions&id=${cam.kameraid}" >
<c:forEach items="${sessionScope.camlist}" var="cam">

<!-- html code -->
</c:forEach>
</form>

而不是打电话servlet每次点击checkbox按住按钮并调用 servlet当您单击按钮时。这将减少从浏览器到服务器的迭代次数。

关于javascript - Jsp将动态复选框的值发送到servlett,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com