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
- 개발일기
- CORS
- html
- 실행컨텍스트 동작과정
- css
- 영어공부
- 실행컨텍스트 실행과정
- 그래머인유즈
- 알고리즘
- Mini Node Server
- styled-component
- state hook
- 객체
- 로컬상태
- 노마드코더
- .env
- CLI
- 실행컨텍스트자바스크립트
- useRef역할
- 실행컨텍스트콜스택
- 실행컨텍스트스택
- 실행컨텍스트란
- .current
- 개발공부
- 고차함수
- Block
- 영어
- 실행컨텍스트 면접
- 전역상태
- npm 에러
Archives
- Today
- Total
오늘도 삽질중
로그인2 (getting username) 본문
목표: 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