[javascript] 입력 폼에서 특정 요소의 동적 생성/삭제

웹 어플리케이션에서 입력 폼을 만들 때, 특정 요소들을 동적으로 추가하거나 제거해야 하는 경우가 있습니다. 예를 들어, 사용자가 “추가” 버튼을 클릭할 때마다 새로운 입력 필드를 생성하거나 “삭제” 버튼을 클릭할 때 해당 입력 필드를 제거하는 기능을 구현해야 할 수 있습니다.

HTML 구조

먼저, HTML에서 동적으로 생성하거나 삭제할 요소들을 감싸는 부모 요소를 만들어야 합니다. 보통 <div> 태그를 사용합니다. 이 예시에서는 다음과 같은 HTML 구조를 가정하겠습니다.

<div id="container">
  <!-- 동적으로 추가/삭제 될 요소들이 여기에 들어감 -->
</div>
<button id="addButton">추가</button>

JavaScript로 동적 추가/삭제 기능 구현

요소 추가

// 추가 버튼 클릭 시
document.getElementById('addButton').addEventListener('click', function() {
  // 추가할 새로운 요소를 생성
  var newElement = document.createElement('input');
  // 필요에 따라 새로운 요소에 속성을 추가하거나 내용을 설정할 수 있음
  // newElement.setAttribute('type', 'text');
  // newElement.setAttribute('name', 'newInput');

  // 부모 요소에 새로운 요소를 추가
  document.getElementById('container').appendChild(newElement);
});

요소 삭제

// 삭제 버튼 클릭 시
document.getElementById('container').addEventListener('click', function(e) {
  // 삭제할 요소를 클릭한 경우
  if (e.target.tagName === 'INPUT') {
    // 부모 요소에서 해당 요소를 제거
    e.target.parentNode.removeChild(e.target);
  }
});

위의 JavaScript 코드는 “추가” 버튼을 클릭할 때마다 새로운 입력 필드를 생성하고, 각 입력 필드의 옆에는 “삭제” 버튼이 생기면서 해당 입력 필드를 제거할 수 있도록 합니다.

이제 당신의 웹 어플리케이션에서 특정 요소를 동적으로 생성하고 삭제하는 기능을 쉽게 구현할 수 있을 것입니다.

참고 자료