JSP & Servlet
회원제 게시판 마무리(댓글 수정, 열고 닫기) 21. 03. 26.
Levinni
2021. 3. 26. 10:06
댓글 수정
detail.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<jsp:include page="../../../template/header.jsp"/>
<table>
<tr>
<th>제목</th>
<td colspan="5">${board.title}</td>
</tr>
<tr>
<th>작성자</th>
<td>${board.username}</td>
<th>작성일</th>
<td>${board.regdate}</td>
<th>조회수</th>
<td>${board.hitcount}</td>
</tr>
<tr>
<td>
<c:forEach items="${board.attachs}" var="attach">
<a class="dl" href="/upload/${attach.uploadPath}/${attach.uuid}">${attach.fileName}</a>
</c:forEach>
</td>
</tr>
<tr>
<td colspan="6">
${board.content}
</td>
</tr>
</table>
<div class="reply-wrap">
<div class="reply-header">
<div>댓글 <span>${fn:length(replies)}</span></div>
<div><button class="reply-content-toggle">댓글 열기</button></div>
</div>
<div class="reply-content-wrapper">
<c:forEach items="${replies}" var="reply">
<div class="reply-content">
<div class="reply-content-header">
<span>${reply.username}</span>
<span>${reply.regdate}</span>
</div>
<div class="reply-body">${reply.content}</div>
<div class="reply-form reply-modify">
<form method="post" action="modifyReply">
<textarea rows="10" cols="30" name="content">${reply.content}</textarea>
<input type="hidden" name="boardno" value="${board.boardno}">
<input type="hidden" name="replyno" value="${reply.replyno}">
<button>댓글등록</button>
</form>
</div>
<div class="reply-btns">
<c:if test="${not empty member and member.userid eq reply.userid}">
<form action="removeReply" method="post">
<button type="button" class="btn-modify">수정</button>
<input type="hidden" name="replyno" value="${reply.replyno}">
<input type="hidden" name="boardno" value="${board.boardno}">
<button>삭제</button>
</form>
</c:if>
</div>
</div>
</c:forEach>
</div>
<div class="reply-form">
<form method="post" action="writeReply">
<textarea rows="10" cols="30" name="content"></textarea>
<input type="hidden" name="boardno" value="${board.boardno}">
<button>댓글등록</button>
</form>
</div>
</div>
<div class="btns">
<c:if test="${not empty member and member.userid eq board.userid}">
<a href="modify?boardno=${param.boardno}"><button>글수정</button></a>
<a href="remove?boardno=${param.boardno}"><button>글삭제</button></a>
</c:if>
<button class="do-prev">목록으로</button>
</div>
<script>
$(".dl").click(function() {
event.preventDefault();
var realPath = encodeURIComponent($(this).attr("href"));
var fileName = encodeURIComponent($(this).text());
console.log(realPath);
console.log(fileName);
var dlURI = '<%=request.getContextPath()%>/download';
dlURI += '?realPath=' + realPath;
dlURI += '&fileName=' + fileName;
console.log(dlURI);
location.href = dlURI;
});
$(".reply-content-toggle").click(function() {
var $wrap = $(".reply-content-wrapper");
if($wrap.is(":visible")) {
$(this).text("댓글 열기");
$wrap.stop().slideUp(0);
}
else {
$(this).text("댓글 닫기");
$wrap.stop().slideDown(0);
}
});
$(".btn-modify").click(function() {
$(".reply-form").hide();
$(this).parent().parent().prev().show();
});
</script>
<jsp:include page="../../../template/footer.jsp"/>
수정 버튼을 button type="button로 하면 더이상 삭제 기능을 하지 않음 -> 이벤트 걸어서 수정으로 만들기.
input hidden은 폼 안에 있어야 제 기능 하는 것
.btn-modify (수정버튼 태그!!)의 부모(<form>)의 부모(<div>)의 이전(<div class="reply-form reply-modify">
common.css
.reply-modify {display: none;}
게시판 끝!!!!!!!!!