Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 알고리즘
- state hook
- .env
- 그래머인유즈
- 실행컨텍스트자바스크립트
- 실행컨텍스트 동작과정
- html
- 개발공부
- npm 에러
- styled-component
- 객체
- 로컬상태
- 실행컨텍스트 실행과정
- 개발일기
- 실행컨텍스트스택
- .current
- useRef역할
- 영어공부
- 실행컨텍스트란
- CLI
- 노마드코더
- css
- 전역상태
- 영어
- Mini Node Server
- CORS
- 고차함수
- Block
- 실행컨텍스트 면접
- 실행컨텍스트콜스택
Archives
- Today
- Total
오늘도 삽질중
로그인2 (getting username) 본문
0
목표: 1. 아이디 입력 후 자연스레 login-form 사라지게 하기
2. 동시에 h1태그에 "hello"+ id 나오게하기
방법: css로 숨겨주기
1
2
3
|
.hidden{
display:none;
}
|
cs |
html
1
2
3
4
5
6
7
8
9
|
<form id="login-form">
<input required max-length="15" type="text" placeholder="what is your name?">
<button>log In</button>
<h1 id="greeting" class="hidden"></h1>
|
cs |
일단 h1 greeting 태그는 숨겨줌
js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
const loginForm = document.getElementById("login-form");
const loginInput = document.querySelector("#login-form input");
const loginButton = document.querySelector("#login-form button");
const greeting = document.querySelector("#greeting");
function onClickLogin(event){
event.preventDefault();
console.log(loginInput.value);
loginForm.classList.add("hidden");
greeting.classList.remove("hidden");
greeting.innerText = `hello ${loginInput.value}`;
}
loginForm.addEventListener("submit", onClickLogin);
|
cs |
<form을 submit하고 난 후, function에서 일어난 일>
7. 일단 submit의 기본동작을 저지
8. 내가 넣은 입력값을 콘솔에서 동시에 확인
9. 입력값을 넣는동시에 loginForm에서 "hidden" class가 추가되어 사라지게됨
10. loginFom이 사라지면서 greeting 에서는 "hidden" class가 제거되고
11. html에는 hello 입력값이 뜨게된다.
반복되는 코드가 있어 좀 더 깔끔히 코드를 정리하자면,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
const loginInput = document.querySelector("#login-form input");
const loginButton = document.querySelector("#login-form button");
const greeting = document.querySelector("#greeting");
const HIDDEN_CLASSNAME = "hidden";
function onClickLogin(event){
event.preventDefault();
const username = loginInput.value;
console.log(username);
loginForm.classList.add(HIDDEN_CLASSNAME);
greeting.classList.remove(HIDDEN_CLASSNAME);
greeting.innerText = `hello ${username}`;
}
loginForm.addEventListener("submit", onClickLogin);
|
cs |
완성!
업뎃할거 진짜 많다.. 짤 올리지 말고 코드나 올리자
'개발공부' 카테고리의 다른 글
Create React App(리액트 프로젝트 만들기) (0) | 2021.09.15 |
---|---|
Local Storage(setItem, getItem, removeItem) (2) | 2021.07.06 |
로그인하기 submit event.preventDefault() (0) | 2021.06.30 |
toggle로 가는 여정(toggle, classList, className) (4) | 2021.06.28 |
Comments