웹 페이지에서 댓글 등록하기
닷글 뷰 페이지(_comments)의 구성
<div class="card m-2" id="comments-new"> // class 속성 수정, id 속성 추가
<div class="card-body">
<!-- 댓글 작성 폼 -->
<form>
<!-- 닉네임 입력 -->
<div class="mb-3"> // 닉네임 입력 폼 만들기
<label class="form-label">닉네임</label>
<input type="text" class="form-control"
id="new-comment-nickname">
</div>
<!-- 댓글 본문 입력 --> // 댓글 본문 입력 폼 만들기
<div class="mb-3">
<label class="form-label">댓글 내용</label>
<textarea type="text" class="form-control" rows="3"
id="new-comment-body"></textarea>
</div>
<!-- 히든 인풋 -->
{{#article}} // 히든 인풋 폼 만들기
<input type="hidden" id="new-comment-article-id" value="{{id}}">
{{/article}}
<!-- 전송 버튼 -->
<button type="button" class="btn btn-primary"
id="comment-create-btn">댓글 작성</button> // 전송 버튼 만들기
</form>
<div class="card m-2" id="comments-new">
(중략)
</div>
<script>
{
}
</script>
<div class="card m-2" id="comments-new">
<div class="card-body">
<!-- 댓글 작성 폼 --> 주석
<form>
<div class="mb-3">
(중략)
</div>
<div class="mb-3">
(중략)
</div>
<div class="mb-3 form-check"> // 삭제
(중략)
</div> // 삭제
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
<script>
{
// 댓글 생성 버튼 변수화
const commentCreateBtn = document.querySelector("#comment-create-btn");
// 댓글 클릭 이벤트 감지
commentCreateBtn.addEventListener("click", function() {
console.log("버튼을 클릭했습니다.");
});
}
</script>
// 댓글 클릭 이벤트 감지
commentCreateBtn.addEventListener("click", function() {
console.log("버튼을 클릭했습니다."); // 삭제
});
<객체 리터럴 방식>
var object = {
key1: value1,
key2: value2,
...
}
<input type="text" class="form-control" id="new-comment-nickname">
</div>
<!-- 댓글 본문 입력 -->
<div class="mb-3">
<label class="form-label">댓글 내용</label>
<textarea type="text" class="form-control" rows="3"
id="new-comment-body"></textarea>
</div>
<!-- 히든 인풋 -->
{{#article}}
<input type="hidden" id="new-comment-article-id" value="{{id}}">
{{/article}}
<!-- 전송 버튼 -->
<button type="button" class="btn btn-primary"
id="comment-create-btn">댓글 작성</button>
</form>
</div>
</div>
<script>
{
// 댓글 생성 버튼 변수화
const commentCreateBtn = document.querySelector("#comment-create-btn");
// 댓글 클릭 이벤트 감지
commentCreateBtn.addEventListener("click", function() {
// 새 댓글 객체 생성
const comment = {
// 새 댓글의 닉네임
nickname: document.querySelector("#new-comment-nickname").value,
// 새 댓글의 본문
body: document.querySelector("#new-comment-body").value,
// 부모 게시글의 id
articleId: document.querySelector("#new-comment-article-id").value
};
// 댓글 객체(comment)가 잘 만들어졌는지 확인하기 위해 객체를 콘솔에 출력
console.log(comment);
});