회원가입 웹을 간단하게 만들어 다섯가지 속성을 사용했다.
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 조합은 웹 개발에 아주 좋은것같다.