所以我不确定如何标记这个,但基本上我有一个动态加载的HTML表,其中包含可以删除的值,目前我使用复选框来让用户决定要删除哪一行。到目前为止,这是我的代码:
<table id="comments" align="center" width="59%">
<thead>
<th class="headerClass" width="7%">Delete</th>
<th width="15%" class="headerClass">Date</th>
<th class="headerClass" width="15%">Employee</th>
<th class="headerClass">Comment</th>
</thead>
<tbody>
<%
while (result.next()) {
commentDate = StringUtils.defaultString(result.getString("commentDate"));
commentUser = StringUtils.defaultString(result.getString("cName"));
comment = StringUtils.defaultString(result.getString("xbs_comment"));
%>
<tr>
<td class="normal"><input type="checkbox" class="checkbox" /></td>
<td class="normal"><%=commentDate%></td>
<td class="normal"><%=commentUser%></td>
<td class="normal" width="68%"><%=comment%></td>
</tr>
</tbody>
</table>
<label for="comment"><h4>Add a Comment:</h4></label>
<textarea cols="105" id="comment" name="comment" rows="4"></textarea>
<br />
<div align="center" class="submit">
<input class="submit" width="10%" type="submit" name="submit" id="submit" value="Submit" />
</div>
基本上我有一个带注释的表,用户可以使用提交按钮添加注释,但我希望他们也可以使用复选框删除注释。我需要另一个带删除按钮的表单标签,还是只使用这一个提交按钮?此外,如果我继续使用复选框,我如何让我的程序(函数和servlet)的后端知道哪些被检查?谢谢你的帮助!!
答案 0 :(得分:2)
您可以使用相同的提交执行此操作。此外,您还可以通过ajax删除评论,然后您可以在删除成功后重新加载页面。
以下是使用相同提交按钮删除评论的一些方法。我假设用户有权删除表中的所有注释。
but I would like them to also be able to use the check box to delete comments
要执行此操作,您必须在复选框上指定一个值,该值对于每个注释都是唯一的。通常是代表每条评论的行中的主键或ID。
为每个复选框使用单个名称进行多次删除。下面的示例
<强> comments.jsp 强>
<form name="commentForm" action="addDelete.jsp">
<div>
<table>
<thead>
<tr>
<th>No.</th><th>Date</th><th>User</th><th>Comments</th>
</tr>
</thead>
<tbody>
<%
for(Comment cmnt : commentList){
%>
<tr>
<td><input type="checkbox" value="<%=cmnt.getCmntId()%>" name="cmntId" /></td>
<td><%=cmnt.getCmntDate()%></td>
<td><%=cmnt.getCmntUser()%></td>
<td><%=cmnt.getCmntComment()%></td>
</tr>
<%
}
%>
</tbody>
</table>
<textarea cols="50" rows="10" name="newComment">
</textarea>
<br />
<input type="submit" value="Delete" />
<input type="hidden" name="userId" value="Id_of_the_user">
</div>
</form>
这只是一个例子,因此请更多地关注有复选框的部分。
<强> addDelete.jsp 强>
现在在adddelete.jsp上,你可以有两个具有不同功能的查询。第一个用于添加新注释,第二个是删除注释。
要获取要删除的注释列表,请将其存储在数组中。并获得其他领域。
String[] cmntIds = request.getParameterValue("cmntId"); //This store all the cmntId that are checked in the previous checkbox.
String newComment = request.getParameterValue("newComment");
String userId = request.getParameterValue("userId"); //This can be in a session
//Some function you may need
deleteComment(cmntIds); //Execute a query to delete comment using the cmntIds
inserNewComment(newComment, userId); //Execute a query to add the new comment using newComment and userId if there is a comment attached.
除了这一部分,我希望你能够处理你想做的事所需的功能。