고슴맨쉬
망치와 공(空)
고슴맨쉬
  • 분류 전체보기 (155)
    • 💡 UXUI (4)
      • UXUI (2)
      • UI (2)
      • UX (0)
    • 🟨 JavaScript (66)
      • 개념 (42)
      • 정리 (2)
      • 문제풀기 (프로그래머스, 코딩애플) (15)
      • 응용하여 자동화or문제해결하기 (2)
      • 기타 (5)
    • ⚛️ React (49)
      • 개념 (27)
      • 개념(Redux) (3)
      • 정리 (4)
      • 문제풀기 (코딩애플: React) (15)
    • 📘 TypeScript (10)
      • 개념 (8)
      • 문제풀기 (코딩애플) (2)
    • 🌐 HTML,CSS (18)
      • 실무에서 자주 발생한 오류들 (10)
      • 뒤늦게 알아서 뼈아픈 유용한 CSS (6)
      • 기타 자주 쓰는 CSS (2)
    • 💻 CS (8)
      • CS (5)
      • 정규표현식 (2)
      • Git,Github (1)

태그

  • CS
  • json
  • object
  • UXUI
  • state
  • axios
  • JavaScript
  • 코딩애플
  • class
  • TypeScript
  • Props
  • array
  • useEffect
  • 삼항연산자
  • 오류
  • CSS
  • 프로그래머스
  • redux
  • react
  • Ajax
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
고슴맨쉬

망치와 공(空)

🟨 JavaScript/문제풀기 (프로그래머스, 코딩애플)

Level 1 : 6~12 (숙제 및 깨달은 점)

2023. 1. 8. 17:42

6. form과 input 값이 비었을 때 얼럿 띄우고 submit막기

document.querySelector('form').addEventListener('submit', function(e){
    if (document.querySelector('input[type=text]').value == '') {
        alert(`아이디를 입력하세요.`);
        e.preventDefault();
    } else {
        document.querySelector('input[type=text]').submit;
    };

    if (document.querySelector('input[type=password]').value == '') {
        alert(`비밀번호를 입력하세요.`);
        e.preventDefault();
    } else {
        document.querySelector('input[type=password]').submit;
    };
})

깨달은 점 : button type을 submit으로 두면 클릭했을 시 form action="link"로 전송이 된다. preventDefault를 사용하면 브라우저가 해당 이벤트의 기본 동작을 실행하지 않도록 지정할 수 있다 (여기서는 submit하지 않도록 지정)

7. input 값이 변할 때마다 콘솔 찍기

document.querySelector('#email').addEventListener('input', function(){
    console.log(`값이 변했다`)
})

깨달은 점 : addEventListener 파라미터를 input으로 두면 해당 input 값이 바뀔 때마다 실행된다. change로 두면 해당 값이 바뀌고 포커스를 잃을 때 실행된다.

8. 3의 배수일 때 박수 치기

document.querySelector('#getnumber').addEventListener('input', function(){
    if((document.querySelector('#getnumber').value % 3) == 0) {
        console.log(`박수!`);
    } else {
        console.log(`통과`);
    }
})

9. 3의 배수일 때 박수 한번 / 9의 배수일 때 두번 치기

document.querySelector('#getnumber').addEventListener('input', function(){
    if((document.querySelector('#getnumber').value % 9) == 0) {
        console.log(`박수 X 2!`);
    } else if((document.querySelector('#getnumber').value % 3) == 0) {
        console.log(`박수!`);
    } else {
        console.log(`통과`);
    }
})

10. 점수가 둘 중 하나라도 40점 미만일 시 불합격, 두 점수의 합이 120 이상일 시 합격 띄우기

function passOrfail(a, b){
    if(a < 40 || b < 40) {
        console.log(`불같은 합격`);
    } else if((a + b) >= 120) {
        console.log(`합격`);
    } else {
        console.log(`불같은 합격`);
    }
}

11. 클릭할 때마다 다크모드 버튼 텍스트 변경하기

let btnMode = document.querySelector('.bg-dark');
btnMode.addEventListener('click', function(){
    if (btnMode.innerHTML == 'Dark 🔄') {
        btnMode.innerHTML = 'Light 🔄';
    } else {
        btnMode.innerHTML = 'Dark 🔄';
    }
})

12. 클릭할 때마다 다크모드 버튼 텍스트 변경하기

let btnMode = document.querySelector('.bg-dark');
let btnCount = 1;
btnMode.addEventListener('click', function(){
    if (btnCount % 2 == 0) {
        btnMode.innerHTML = 'Dark 🔄';
    } else {
        btnMode.innerHTML = 'light 🔄';
    }
    btnCount += 1;
})

깨달은 점 : 홀/짝 검사는 % 2 했을 시 나머지값으로 검사한다. a += 1;을 하면 a에 1을 더한다. (a++;, a = a+1; 도 같은 동작을 한다.)


출처 : 코딩애플 https://codingapple.com/

저작자표시 비영리 동일조건 (새창열림)

'🟨 JavaScript > 문제풀기 (프로그래머스, 코딩애플)' 카테고리의 다른 글

Level 3 : 1~3 (array, object)  (0) 2023.01.31
[중요] Level 2 : 14,15(숙제 및 깨달은 점)_for, 버블링활용축약버전  (0) 2023.01.13
Level 2 : 6~13(숙제 및 깨달은 점)_scroll  (0) 2023.01.12
Level 2 : 1~5 (숙제 및 깨달은 점)_if문  (0) 2023.01.09
Level 1 : 1~5 (숙제 및 깨달은 점)  (0) 2023.01.02
    '🟨 JavaScript/문제풀기 (프로그래머스, 코딩애플)' 카테고리의 다른 글
    • [중요] Level 2 : 14,15(숙제 및 깨달은 점)_for, 버블링활용축약버전
    • Level 2 : 6~13(숙제 및 깨달은 점)_scroll
    • Level 2 : 1~5 (숙제 및 깨달은 점)_if문
    • Level 1 : 1~5 (숙제 및 깨달은 점)
    고슴맨쉬
    고슴맨쉬
    부수되 집착하지 않고, 이해하되 머무르지 않기

    티스토리툴바