Note/그밖에

js 쿠키정의, 사용

Delia :D 2011. 6. 30. 12:52

/*********************************************************************
* 쿠키관련 함수 선언 
*********************************************************************/
// SETCOOKIE
function setCookie(name,value,expiredays) {
var todayDate = new Date();
todayDate.setDate(todayDate.getDate() + expiredays);
document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

// GETCOOKIE
function getCookie(name) {
var nameOfCookie = name + "=";
var x = 0;
while (x <= document.cookie.length) {
var y = (x+nameOfCookie.length);
if (document.cookie.substring( x, y ) == nameOfCookie) {
if ((endOfCookie=document.cookie.indexOf(";",y)) == -1) {
endOfCookie = document.cookie.length;
}
return unescape(document.cookie.substring(y,endOfCookie));
}

x = document.cookie.indexOf(" ",x) + 1;
if (x == 0) {
break;
}
}
return "";
}



/**************** 쿠키사용할 때 ******************/
$(document).ready(function() {
//페이지 로딩시점에서 실행
focusOne();
}); 
 
//쿠키값을 저장한다.
function SeSumit() {
if($("#id_chk").checked) {
//id라는 이름의 쿠키에 아이디값을 저장한다. 
//setCookie(cookie_name,저장할값(input.value),저장시간);
setCookie("id",$("#id").val(),1);
} else {
//쿠키값초기화 
setCookie("id","",1);
}

return true;
}

//쿠키값을 읽어온다.
function focusOne() {
var cookie_id;
cookie_id = this.getCookie("id");
if(cookie_id != "" && cookie_id != null) {
$("#id_chk").attr("checked",true);
$("#id").val(cookie_id);
$("#id").focus();
} else {
$("#id").focus();
}
}


<label for="id_chk"><input type="checkbox" id="id_chk" />아이디저장</label>
<input type="text" id="id" value="아이디입력폼" />
id_chk 아이디를 가진 체크박스가 체크되어있을 경우 쿠키에 저장하고
페이지로딩시점에서 id 인풋에 저장된 쿠키값을 셋팅한다.

눈치빠른사람은 알겠지만 엘리먼트 선택자는 jquery를 이용한것이다.
jquery를 사용하지 않을 경우는 엘리먼트 선택부분과 $(document).ready 를 다른방식으로 바꾸면 된다.
 

'Note > 그밖에' 카테고리의 다른 글

콤마설정 스크립트  (0) 2011.06.30
크로스 브라우징을 위한 핵 사용  (0) 2011.06.30
js 많이쓰는 숫자, 문자 함수  (0) 2011.06.30
JQuery 엘리먼트 선택자  (0) 2011.06.30
JQuery :: $(document).ready  (0) 2011.06.30