[javascript] 입력 폼에서 입력 요소의 연동 처리하기

이번 포스트에서는 HTML 입력 폼에서 입력 요소 간의 연동에 대해 다뤄보겠습니다. 웹 개발에서 폼 요소 간의 상호작용은 매우 중요하며, 입력 요소들이 사용자와 어떻게 상호작용하는지를 이해하는 것은 필수적입니다.

1. HTML 입력 폼 만들기

가장 먼저, HTML을 사용하여 입력 폼을 만들어 보겠습니다. 아래는 이름이메일을 입력받는 간단한 의 예시입니다.

<form action="/submit-form" method="post">
  <label for="name">이름:</label>
  <input type="text" id="name" name="name"><br><br>
  <label for="email">이메일:</label>
  <input type="email" id="email" name="email"><br><br>
  <input type="submit" value="제출">
</form>

2. 입력 요소 간의 연동 처리하기

2.1. onChange 이벤트 사용하기

입력 요소 사이의 연동을 처리하려면 JavaScript를 사용하여 이벤트를 감지해야 합니다. 예를 들어, 사용자가 이름을 입력하는 동안에 이메일 입력란이 자동으로 활성화되도록 처리할 수 있습니다.

const nameInput = document.getElementById('name');
const emailInput = document.getElementById('email');

nameInput.addEventListener('input', function() {
  if (nameInput.value !== '') {
    emailInput.disabled = false;
  } else {
    emailInput.disabled = true;
  }
});

위의 코드에서는 nameInputinput 이벤트를 추가하고, 입력된 내용이 비어있지 않으면 emailInput을 활성화하도록 처리하고 있습니다.

2.2. 관련된 요소들 간의 상호작용 다루기

때로는 한 요소의 값이 변경될 때, 다른 요소의 값을 동시에 변경해야 할 수 있습니다. 예를 들어, 비밀번호비밀번호 확인 필드를 연동하여 두 값이 일치하는지 확인하는 기능을 추가하는 것입니다.

const passwordInput = document.getElementById('password');
const confirmPasswordInput = document.getElementById('confirm-password');

passwordInput.addEventListener('input', function() {
  if (passwordInput.value === confirmPasswordInput.value) {
    // 일치하는 경우 처리
  } else {
    // 불일치하는 경우 처리
  }
});

confirmPasswordInput.addEventListener('input', function() {
  if (confirmPasswordInput.value === passwordInput.value) {
    // 일치하는 경우 처리
  } else {
    // 불일치하는 경우 처리
  }
});

마무리

HTML 입력 폼에서 입력 요소 간의 연동을 처리하는 방법에 대해 알아보았습니다. 폼 요소 간의 상호작용은 웹 개발에서 중요한 주제 중 하나이며, 다양한 상황에 맞게 유연하게 다룰 수 있어야 합니다.

이러한 상호작용은 사용자 경험을 향상시키는 데 중요한 역할을 합니다. 따라서 다양한 경우에 대비하여 입력 폼에서의 연동 처리에 대해 숙지하고 익히는 것이 좋습니다.

참고문헌: