
회원가입 웹을 간단하게 만들어 다섯가지 속성을 사용했다.
document.querySelector, value, onkeyup , classList.add, classList.remove
각 속성의 내용과 어떤식으로 사용되는지 알아보자

document.querySelector 문서에서 선택자를 찾아준다 선택자는 Element(요소)

value 해당 요소의 입력되어있는 값을 찾거나 가져온다.

onkeyup 자바스크립트 이벤트 속성중 하나로 키를 눌렀다가 뗄때 마다 이벤트가 발생

classList.add Dom의 개체로 클래스 이름을 추가한다

classList.remove 클래스 이름을 삭제한다.

- 아이디,비밀번호,비밀번호 확인 요소를 불러온다.
- 아이디창에 네글자 미만 입력시 HTML 의
failure-message클래스의 텍스트가 출력- 네글자 이상 입력시 HTML 의
success-message클래스 텍스트가 출력- 비밀번호, 비밀번호 확인 칸이 불일치 할시 HTML 의
mismatch-message가 출력
회원가입창을 Html,css,js 로 대강 만들고 (코드스테이츠예제)
message 클래스에 hide를 입력하여 조건을 만족할경우 css .hide{ display: none} 으로 메세지 안보도록 하고, 아닌경우 hide 빼서 메세지 출력하도록한다.
hide 제거: 메세지출력, hide추가: 메세지미출력
#은 id가 oo인 , . 은 class명이 oo인 ]
let elInputUsername = document.querySelector('#username'); // ID요소
let elFailureMessage = document.querySelector('.failure-message');// 클래스요소
let elSuccessMessage = document.querySelector('.success-message'); // 클래스
let pwMessage = document.querySelector('.mismatch-message'); // 클래스요소
const pwtest = document.querySelector('#password-retype'); // Id요소
const pw = document.querySelector('#password'); // Id요소
boolean 반환 함수 생성function id4Length(value) {
return value.length >= 4
} // 매개변수의 길이가 4글자 이상인 경우 ture 반환
hide로 되어있다.sucMsg 클래스의 hide 제거하고 failMsg 클래스의 hide 추가한다.userName.onkeyup = function () {
if (id4Length(userName.value)) { // username의 값이 함수와 일치하면
sucMsg.classList.remove('hide') // '사용할 수 있는 아이디입니다'
failMsg.classList.add('hide') // ''
}
}
sucMsg 클래스의 hide 추가하고 failMsg 클래스의 hide 제거한다. else {
sucMsg.classList.add('hide')// ''
failMsg.classList.remove('hide')// '아이디는 네 글자 이상이어야 합니다'
}
function isMatch (password1, password2) {
return password1 === password2;
} // 비밀번호1 과 비밀번호2가 같은경우
pwTest.onkeyup = function () {
if(isMatch(userPw.value,pwTest.value)){ // 함수조건 만족시
misMsg.classList.add('hide') // 메세지 안보임
} else {
misMsg.classList.remove('hide') // misMag 내용출력
}
}
document.querySelector 를 통해 요소를 가져 올 수 있고
value 메서드를 활용하여 요소의 값을 가져 올 수 있다.
onkeyup 키 눌렀다 뗄시 이벤트 발생
classList.add, classList.remove 두 메서드로 클래스명을 추가하고 삭제할수있다.
Dom은 js를 동작하기위해 아주 편리한 API이다. 돔과 js 조합은 웹 개발에 아주 좋은것같다.