반응형
1. html 에 체크박스 그려주기.
<div>
<input type="checkbox" id="useCookie" style="position: relative; left: 0;"/>ID 저장
</div>
2. javascript
//쿠키값 set
function setCookie(cookieName, value, exdays){
let exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
let cookieValue = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toGMTString());
document.cookie = cookieName + "=" + cookieValue;
}
//쿠키값 delete
function deleteCookie(cookieName){
let expireDate = new Date();
expireDate.setDate(expireDate.getDate() -1);
document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString();
}
//쿠키값 get
function getCookie(cookieName){
cookieName = cookieName + "=";
let cookieData = document.cookie;
let start = cookieData.indexOf(cookieName);
let cookieValue = '';
if(start != -1){
start += cookieName.length;
let end = cookieData.indexOf(';', start);
if(end == -1)end = cookieData.length;
cookieValue = cookieData.substring(start, end);
}
return unescape(cookieValue); //unescape로 디코딩 후 값 리턴
}
$(function(){
/* id 저장 체크박스 기능 추가 */
var userInputId = getCookie("userInputId");//저장된 쿠기값 가져오기
$("#manager_id").val(userInputId);
if($("#manager_id").val() != ""){ // 그 전에 ID를 저장해서 처음 페이지 로딩
$("#useCookie").attr("checked", true); // ID 저장하기를 체크 상태로 두기.
}
$("#useCookie").change(function(){ // 체크박스에 변화가 발생시
if($("#useCookie").is(":checked")){ // ID 저장하기 체크했을 때,
var userInputId = $("#manager_id").val();
setCookie("userInputId", userInputId, 7); // 7일 동안 쿠키 보관
}else{ // ID 저장하기 체크 해제 시,
deleteCookie("userInputId");
}
});
// ID 저장하기를 체크한 상태에서 ID를 입력하는 경우, 이럴 때도 쿠키 저장.
$("#manager_id").keyup(function(){ // ID 입력 칸에 ID를 입력할 때,
if($("#useCookie").is(":checked")){ // ID 저장하기를 체크한 상태라면,
var userInputId = $("#manager_id").val();
setCookie("userInputId", userInputId, 7); // 7일 동안 쿠키 보관
}
});
});
반응형
'개발 > html, css, javascript' 카테고리의 다른 글
Javascript 배열, 배열 함수 정리 (1) | 2022.11.29 |
---|---|
Javascript ... 문법 의미 (1) | 2022.10.31 |
(html) data-* attributes 사용하기 (0) | 2022.04.29 |
서버의 설정값(*.properties) 을 JavaScript (.jsp, .js)에서 사용하기. (2) | 2022.04.13 |
[html] id, name, class 차이점 (1) | 2021.12.03 |