09. 폼과 자바스크립트
with 이완희
1. 폼 요소에 접근하는 여러 가지 방
id값이나 class값을 사용해 폼 요소에 접근하기
id값이나 class값을 사용해 폼 요소에 접근하는 방법은 DOM의 다른 요소에 접근하는 것과 같습니다. querySelector()함수나 querySelectorAll() 함수를 사용해서 특정 id 값이나 class값을 가진 요소에 접근할 수 있습니다.
<label class="field" for="billingName">이름 : </label>
<input type="text" class="input-box" id="billingName" name="billingName">
name값을 사용해 폼 요소에 접근하기
폼 요소에 id나 class 속성이 없고 name속성만 있다면 name 식별자를 사용해 폼 요소에 접근할 수 도 있습니다. 이 방법을 사용하려면 <form>태그에 name속성이 지정되어 있어야 하고, <form>태그 안에 포함된 폼 요소에도 name속성이 있어야 합니다.
<form name="ship">
<fieldset>
<legend> 배송 정보 </legend>
<ul>
<li>
<input type="checkbox" id="shippingInfo" name="shippingInfo">
<label for="bill_info" class="check">주문 정보와 배송 정보가 같습니다</label>
</li>
<li>
<label class="field" for="shippingName">이름 : </label>
<input type="text" class="input-box" id="shippingName" name="shippingName">
폼 배열을 사용해 폼 요소에 접근하기
이 방법은 폼 요소에 id나 class속성도 없고 name속성도 없을 때 사용합니다.
2. 폼 요소에서 입력값 검증하기
값이 입력되었는지, 입력된 값이 정해진 조건에 맞는지 등을 검사하는 이 작업은 흔히 폼 밸리데이션이라고 불립니다.
var userId = document.querySelector("#user-id"); // ‘아이디’ 필드를 가져와 변수에 저장
userId.onchage = checkId;
function checkId() {
if (userId.value.length < 4 || userId.value.length > 15) { // userId 필드 내용의 길이가 4 이하이거나 15 이상일 경우 실행
alert("4~15 자리의 영문과 숫자를 사용하세요."); // 오류 메시지 출력
userId.select(); // 다시 입력할 수 있도록 userId 필드 선택
}
}
<입력한 아이디 글자수를 확인 하는 코드>
var pw1 = document.querySelector("#user-pw1"); // ‘비밀번호’ 필드를 가져와 변수에 저장
var pw2 = document.querySelector("#user-pw2"); // ‘비밀번호 확인’ 필드를 가져와 변수에 저장
pw1.onchange = checkPw;
pw2.onchange = comparePw;
function checkPw() {
if (pw1.value.length < 8) {
alert("비밀번호는 8자리 이상이어야 합니다."); // 오류 메시지 표시
pw1.value = ""; // ‘비밀번호’ 필드 지움
pw1.focus(); // 비밀번호를 다시 입력할 수 있게 포커싱
}
}
function comparePw() {
if(pw1.value != pw2.value) {
alert("암호가 다릅니다. 다시 입력하세요.");
pw2.value = ""; // ‘비밀번호 확인’ 필드 지움
pw2.focus(); // 비밀번호를 다시 입력할 수 있게 포커싱
}
}
<비밀번호의 길이를 확인하고 입력값이 같은지 확인하는 코드>
3. 다양한 폼 요소 다루
선택 목록 및 옵션 항목에 접근하기
<select name="major" id="major" onchange="displaySelect()">
선택 목록<select>에 접근하여 항목을 선택 할 수 있다.
선택 목록에서 사용자가 선택한 옵션 항목 찾아내기
선택 목록에 접근하면 배열 형태가 반환되는데, selectIndex속성이 있는 것을 알수있다. 이 속성 값을 살펴보면 사용자가 어떤 항목을 선택했는지도 알 수 있다.
라디오 버튼과 체크 상자에 접근하기
라디오 버튼은 여러개의 항목 중에서 하나의 항목만 선택할 수 있고, 체크 상잦는 여러 개 항목을 선택할 수 있다는 차이가 있다.

체크상자는 서로 다른 name값을 가지고 있기 때문에 폼 이름 뒤에 체크 상자의 이름을 연결해서 접근할 수 있다.

Last updated
Was this helpful?