Помогите удалить поля из таблицы HTML - PullRequest
2 голосов
/ 29 апреля 2011

Так что я не уверен точно, как пометить этот тег, но в основном у меня есть динамически загружаемая таблица 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>

В основном у меня есть таблица с комментариями, пользователь может добавить комментарий с помощью кнопки отправки, но я бы хотел, чтобы они также моглииспользовать флажок для удаления комментариев.Нужен ли мне другой тег формы с кнопкой удаления, или я могу использовать только одну кнопку отправки?Кроме того, если я останусь с флажками, как мне сообщить бэкэнду моей программы (функции и сервлета), что было проверено?Спасибо за любую помощь !!

1 Ответ

2 голосов
/ 30 апреля 2011

Вы можете сделать это вместе с той же отправкой. А также вы можете удалить комментарий через ajax, затем вы можете перезагрузить страницу после успешного удаления.

Вот несколько способов удалить комментарий, используя ту же кнопку отправки. И я предполагаю, что пользователь имеет право удалить все комментарии в таблице.

but I would like them to also be able to use the check box to delete comments

Чтобы сделать это, вы должны назначить значение для флажка, которые являются уникальными для каждого комментария. Обычно первичный ключ или идентификатор в строке, представляющей каждый комментарий.

Используйте одно имя для каждого флажка для многократного удаления. Образец ниже

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.

Помимо этой части, я надеюсь, вы справитесь с тем, какие функции вам понадобятся для выполнения того, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...