
myHomeSelect.jsp
**<조회하는 ajax중>
i**f (memberId == reply.memberId) {
...
'<button type="button" class="editButton" onclick="updateReplyToggle(this)" value="' + reply.replyNo + '">수정</button>' +
**<스크립트>
// 수정 버튼 관련
function updateReplyToggle(button) {
var replyDiv = $(button).closest('div').parent().parent();
// 수정 버튼과 삭제 버튼 숨김
$(replyDiv).find('.buttons').hide();
// 기존 댓글 가져옴
var replyContent = $(replyDiv).find('.replyContent').data('original-content');
var replyNo = $(button).val(); // replyNo를 가져오기
// 수정 입력란과 기존 댓글 내용 저장 취소버튼 추가
var editForm = '<div class="editForm" style="margin-top: 10px;">' +
'<textarea class="editReplyContents" style="width: 100%;">' + replyContent + '</textarea>' +
'<button class="saveEdit" type="button" data-reply-no="' + replyNo + '" onclick="saveEdit(' + replyNo + ', this)">저장</button>' +
'<button class="cancelEdit" type="button" onclick="cancelEdit(this)">취소</button>' +
'</div>';
// 기존 댓글 내용을 숨기고 수정 입력란을 추가
$(replyDiv).find('.replyContent').hide(); // 기존 댓글 내용 숨기기
$(replyDiv).append(editForm); // 수정 입력란 추가
}
function saveEdit(replyNo, button) {
// 수정된 내용 가저오기
var updateRereplyContents = $(button).siblings('.editReplyContents').val();
console.log('replyNo:', replyNo);
console.log('updateRereplyContents:', updateRereplyContents);
if (updateRereplyContents) {
$.ajax({
url: "/gami/board/reply/modRereply.do",
type: 'POST',
data: {
replyNo: replyNo,
updateRereplyContents: updateRereplyContents
},
success: function() {
alert('댓글 수정 완료');
// 댓글 목록 업데이트
replyList();
},
error: function(status) {
alert('댓글 수정 실패');
alert(status);
}
});
// 수정 완료 후 댓글 내용을 바꾸고 입력란 숨기기
var replyDiv = $(button).closest('div').parent();
$(replyDiv).find('.replyContent').text(updateRereplyContents).data('original-content', updateRereplyContents).show();
$(replyDiv).find('.editForm').remove();
$(replyDiv).find('.buttons').show();
} else {
alert('빈 내용으로는 수정할 수 없습니다.');
}
}
function cancelEdit(button) {
// 수정 입력란을 숨기고 버튼을 보이기
var replyDiv = $(button).closest('div').parent();
$(replyDiv).find('.editForm').remove();
$(replyDiv).find('.replyContent').show();
$(replyDiv).find('.buttons').show();
}**
ReplyController
// 수정
@RequestMapping(value="/modRereply.do", method=RequestMethod.POST)
@ResponseBody
public void modRereply(@RequestParam("replyNo") int replyNo,
@RequestParam("updateRereplyContents") String replyContents) throws Exception {
System.out.println("replyNo 받았냐 ?: " + replyNo); // 글 번호
System.out.println("replyContents 받았냐 ?: " + replyContents); // 글 내용
replyDomain.setReplyNo(replyNo);
replyDomain.setReplyContents(replyContents);
replyService.modRereply(replyDomain);
}
ReplyServiceImpl
@Override
public void modRereply(ReplyDomain replyDomain) throws Exception {
replyDAO.modRereply(replyDomain);
}
ReplyDAOImpl
@Override
public void modRereply(ReplyDomain replyDomain) throws DataAccessException {
sqlSession.delete("mapper.board.modRereply", replyDomain);
}