* 이 게시판은 배운 것을 간단하게 혼자 다시 짜보는 곳
목표:
입력한 값이 화면에 출력이 되고, 새로고침이나 페이지 전환을 해도 그 값이 유지.
const form = document.querySelector('.js-form');
const input = form.querySelector('input');
const greeting = document.querySelector('.js-greetings');
const GREETING_LS = "currentStorage";
const SHOWING_CN = "showing";
// 4. saveName 함수로 localstorage 에 input 값을 저장
function saveName(t){
localStorage.setItem(GREETING_LS,t)
}
// 3. input 에 값 입력시 현재 값은 input.value 로 고정,
// paintText 함수로 화면에 출력을 하고
// 5. saveName 에서 전달 받은 t 라는 변수는 곧 input.value이다.
function handleSubmit(e){
e.preventDefault();
const currentValue = input.value;
paintText(currentValue)
saveName(currentValue)
console.log(currentValue)
}
// 2. input 박스 출현, 폼이 submit 작업을 할 때 hadling function 작동
function askForName(){
form.classList.add(SHOWING_CN);
form.addEventListener("submit",handleSubmit);
}
function paintText(text){
form.classList.remove(SHOWING_CN);
greeting.classList.add(SHOWING_CN);
greeting.innerHTML = `Hello ! ${text}`;
}
function loadName(){
// localstorage 에서 값 가져오기
const currentUser = localStorage.getItem(GREETING_LS);
if(currentUser === null){
// 1. localstorage 에서 값이 없을 때 인풋 박스 출현
askForName();
}else{
paintText(currentUser);
}
}
function init(){
loadName();
}
init();
init() -> loadName() -> askForName() -> handleSubmit() -> paintText() && saveName().
'알고리즘 공부' 카테고리의 다른 글
[js] 완주하지 못한 선수 (0) | 2019.12.10 |
---|---|
[js] K번째의 수 (0) | 2019.12.09 |
[js] 가운데 글자 가져오기 (0) | 2019.12.09 |
유튜브 클론 강의 복습 (0) | 2019.12.03 |
[js] localStorage 에 저장된 값을 화면에 출력 1 (0) | 2019.10.26 |