자바스크립트 Local Storage를 이용한 방명록 기능 구현

개요

방명록은 웹 사이트나 애플리케이션에서 사용자들이 방문한 흔적을 남기는 기능입니다. 이 기능을 구현하기 위해 자바스크립트의 Local Storage를 활용하면 사용자의 정보를 브라우저에 저장하여 새로고침이나 페이지 이동을 해도 데이터를 유지할 수 있습니다. 이번 블로그 포스트에서는 자바스크립트의 Local Storage를 사용하여 방명록 기능을 구현하는 방법을 알아보겠습니다.

코드 구현

// 방명록 정보를 Local Storage에 저장하는 함수
function saveGuestbook(name, message) {
  // 기존에 저장된 방명록 데이터 가져오기
  let guestbook = JSON.parse(localStorage.getItem('guestbook')) || [];

  // 새로운 방명록 객체 생성
  const newEntry = { name, message };

  // 새로운 방명록 데이터를 배열에 추가
  guestbook.push(newEntry);

  // 업데이트된 방명록 데이터를 Local Storage에 저장
  localStorage.setItem('guestbook', JSON.stringify(guestbook));

  // 방명록 데이터 저장 후 화면 갱신
  displayGuestbook();
}

// 방명록을 화면에 출력하는 함수
function displayGuestbook() {
  const guestbook = JSON.parse(localStorage.getItem('guestbook')) || [];

  // 출력할 HTML 초기화
  let html = '';

  // 각 방명록을 순회하며 HTML 생성
  guestbook.forEach(entry => {
    html += `<div><strong>${entry.name}:</strong> ${entry.message}</div>`;
  });

  // HTML을 적용할 요소 선택 후 내용 갱신
  document.getElementById('guestbook').innerHTML = html;
}

// 페이지 로드 시 실행할 초기화 함수
function init() {
  // 방명록 데이터를 화면에 출력
  displayGuestbook();

  // 폼 제출 이벤트 리스너 등록
  document.getElementById('guestbookForm').addEventListener('submit', e => {
    e.preventDefault();

    // 폼 입력값 가져오기
    const name = document.getElementById('name').value;
    const message = document.getElementById('message').value;

    // 방명록 저장 함수 호출
    saveGuestbook(name, message);

    // 폼 입력값 초기화
    document.getElementById('name').value = '';
    document.getElementById('message').value = '';
  });
}

// 페이지 로드 시 초기화 함수 실행
init();

설명

위의 코드는 방명록을 저장하고 출력하는 자바스크립트 함수들을 포함하고 있습니다.

위의 함수들을 적절한 위치에 추가하고, HTML 파일에서 방명록을 출력할 요소를 지정하는 id값과 상호작용하는 폼 요소를 작성하여 기능을 구현할 수 있습니다.

결론

이번 포스트에서는 자바스크립트의 Local Storage를 이용하여 방명록 기능을 구현하는 방법을 알아보았습니다. Local Storage를 사용하면 페이지 이동이나 새로고침을 해도 데이터를 유지할 수 있어 사용자 친화적인 기능을 구현할 수 있습니다. 자바스크립트와 Local Storage를 잘 활용하여 웹 애플리케이션의 기능을 개선시키는데 응용할 수 있습니다.

#자바스크립트 #Local Storage