$('#input-form').append("<div class='col-6 mb-3'><label class='form-label' for="예시아이디" >예시 라벨</label> <input class='form-control' type='text' id="예시아이디" onkeyup='saveValue(this);'></div>");
$('#예시아이디').val(getSavedValue('예시아이디'));
위 코드는 input-form 이라는 아이디 값을 가진 객체에
<div class='col-6 mb-3'>
<label class='form-label' for="예시아이디" >예시 라벨</label>
<input class='form-control' type='text' id="예시아이디" onkeyup='saveValue(this);'>
</div>
이런 객체를 추가해주는 코드이다.
여기서 핵심은 onkeyup='saveValue(this);
/* input에 입력된 값 로컬스토리지에 저장하기 */
function saveValue(e){
var id = e.id;
var val = e.value;
localStorage.setItem(id, val);
}
/* 로컬스토리지에 저장된 값으로 input 채우기 */
function getSavedValue(v){
if(!localStorage.getItem(v)){
// 사용자가 입력하지 않았다면 defualt 값을 반환
return v.value;
}
return localStorage.getItem(v);
}
input 위에서 키보드를 이용해서 사용자가 값을 입력할 때마다 그 변화를 감지해서 saveValue로 해당 input 객체를 넘깁니다.
그러면 saveValue라는 함수에서 해당 객체의 id값과 value 값을 키 밸류로 이용해서 로컬스토리지에 저장합니다.
그리고 $('#예시아이디').val(getSavedValue('예시아이디')); 이 코드를 통해 예시아이디의 value를 getSavedValue('예시아이디')로 설정하게 되는데
getSavedValue에서는 파라미터로 전달받은 예시아이디값을 키로 로컬스토리지에서 getItem을 해서 그 값을 가져와서 $('예시아이디') 객체에 넣어줍니다.
'프로그래밍 언어 > Javascript' 카테고리의 다른 글
Javascript) 자식 요소 모두 제거하기 (0) | 2021.08.13 |
---|---|
Javascript/Jquery) jquery 선택자에서 변수 사용하기 (0) | 2021.06.18 |
[Javascript/프로그래머스] 완전탐색 : 카펫 (0) | 2021.04.24 |
[Javascript/Codility] Lesson3) Time Complexity : FrogJump (0) | 2021.04.20 |
[Javascript/Codility] Lesson2) Array : CyclicRotation (0) | 2021.04.20 |