Korean_hamster
지현의 개발자 성장과정
Korean_hamster
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Front-End Developer (79)
      • Project (12)
      • HTML (8)
      • CSS (17)
      • Computer Science (9)
      • JavaScript (20)
      • React (13)
    • 이런저런 생각 (7)
    • 주간 성장회고 (24)
    • English (0)
    • 리뷰 (2)
    • Books (5)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • CSS
  • AtomicHabits
  • sass
  • 비전공개발자
  • 프론트앤드
  • flex
  • 깃헙
  • 라우터
  • 멋사
  • 프론트앤드스쿨
  • js
  • 리액트
  • fetch
  • CS
  • 면접관님
  • 깃
  • 멋쟁이사자처럼
  • 반응형웹
  • HTML
  • 비전공자개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Korean_hamster

지현의 개발자 성장과정

Front-End Developer/JavaScript

event listener사용해서 로그인창 구현해보기

2022. 5. 19. 17:37

 

    <script>
      //재료준비
      const loginBtn = document.querySelector('#login');
      const modal = document.querySelector('#modal');
      const closeBtn = document.querySelector('#close');
      const inputID = document.querySelector('#id');
      const inputPWD = document.querySelector('#pwd');
      const sendBtn = document.querySelector('#send');
      const mandatory = document.querySelector('.mandatory');
      const required = '@';

      //로그인버튼 클릭시 모달창 add/remove
      loginBtn.addEventListener('click', function () {
        modal.classList.add('show-modal');
      });

      closeBtn.addEventListener('click', function () {
        modal.classList.remove('show-modal');
      });

      // 아이디 값이 없을 시, 아이디에 @가 불포함일시 경고창 띄우기
      send.addEventListener('click', function () {
        if (inputID.value == '') {
          event.preventDefault();
          alert('뭐라도 써서 내세요');
        } else if (inputID.value.includes(required) == false) {
          event.preventDefault();
          alert('이메일 형식으로 쓰세요');
        }
      });

        //패스워드가 6자리 미만 혹은 12자리 이상일 시 안내문구 띄우기
      inputPWD.addEventListener('input', function () {
        if (inputPWD.value.length < 6 || inputPWD.value.length > 12) {
          mandatory.classList.add('show-mandatory');
        } else {
          mandatory.classList.remove('show-mandatory');
        }
      });
    </script>

 

  • 자바스크립트만 집중적으로 연습해보고 싶을 때에는 부트스트랩같은 라이브러리를 적극적으로 사용해야겠다. HTML과 CSS에 소모되는 시간을 없애준다.
  • 다음에는 좀 더 복잡한 유효성 검사식을 추가해봐야지.
저작자표시 (새창열림)

'Front-End Developer > JavaScript' 카테고리의 다른 글

for 반복문으로 코드 n배 절약해보기 + 이벤트버블링  (0) 2022.05.28
(JS기초)변수의 할당, 선언, 범위  (0) 2022.05.22
누구나 애니메이션 만드는 공식  (0) 2022.05.18
함수: 기본중의 기본 정리하기  (0) 2022.05.18
preventDefault속성으로 우클릭 제어하기  (0) 2022.05.16
    Korean_hamster
    Korean_hamster
    Keep pushing myself to the limits

    티스토리툴바