作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 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/
我是一名优秀的程序员,十分优秀!