<html>
<head><title></title>
<script>

//Cookie를 생성하는 Function
function newCookie(name,value,days) { //쿠기를 생성하는 function

 var days = 10;   // 쿠키저장 일수
 if (days) {
  var date = new Date();  //날짜 객체 생성
  date.setTime(date.getTime()+(days*24*60*60*1000)); //10일로 설정된 시간을 밀리세컨드로 변환
  var expires = "; expires="+date.toGMTString(); //쿠키 만료일을 변수 expires에 설정함
 }
 else
 var expires = ""; //days 변수가 초기화 안될 경우 expires를 NULL로 초기화
 
 document.cookie = name+"="+value+expires+"; path=/"; //쿠키생성 
}


//name의 Cookie값을 검색하여서 값을 가져오는데 없으면  NULL을 반환
function readCookie(name) {
 //name으로 Cookie의 값을 검색해서 반환한다 없으면 NULL을 반환
 var nameSG = name + "=";
 var nuller = '';
 if (document.cookie.indexOf(nameSG) == -1)  //Cookie를 검색
  return nuller;

 var ca = document.cookie.split(';');
 
 for(var i=0; i<ca.length; i++) {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  if (c.indexOf(nameSG) == 0) return c.substring(nameSG.length,c.length);
 }
 return null;
}

//checkbox의 에 따라서 Cookie를 설정(체크이벤트를 잡아서 동작)
function changCB()
{
 if ( !document.form.checker.checked)
  delMem();
 else
  toMem();
}

//Cookie에 값을 넣는다.
function toMem()
{
 newCookie('theName', document.form.name.value);
}

//Cookie에 값을 ""로 초기화 한다.
function delMem()
{
 newCookie('theName',"",1);
 document.form.name.value = '';   // add a line for every field
}

//window.load 이벤트에 호출하는 function으로 페이지가 로딩 되면서 값을 세팅하는 부분
function remCookie()
{
 if (readCookie("theName") == " " || readCookie("theName") == "" )
  document.form.checker.checked = false;
 else
 {
  document.form.name.value = readCookie("theName");
  document.form.checker.checked = true;
 }
 //document.form.email.value = readCookie("theEmail");
}

//window.load이벤트 호출부
function addLoadEvent(func) {
 var oldonload = window.onload;
 if (typeof window.onload != 'function') {
  window.onload = func;
 } else {
  window.onload = function()
  {
   if (oldonload)
   {
    oldonload();
   }
   func();
  }
 }
}

addLoadEvent(function() {
//웹페이지가 로딩되면서 동작하는 function
 remCookie();
});
</script>
</head>

<body>
<form name="form" action="" method="post" onsubmit="if (this.checker.checked) toMem()">
    <table border="0" cellpadding="0" cellspacing="3" align="center" width="460">
    <tr>
        <td width="170" align="right">ID: </td>
        <td width="290"><input size="30" name="name" id="name"></td>
    </tr>
    <tr>
        <td width="170" align="right"></td>
        <td width="290"><input type="checkbox" id="checker" name="checker" onchange="changCB()"> ID저장</td>
    </tr>
    <tr>
        <td colspan="2" align="center">
            <input type="submit" value="Submit">
        </td>
    </tr>
    </table>
</form>
</body>
</html>


- 쿠키를 이용하여서 ID를 저장하는 소스입니다.
- Submit 버튼을 누르면 이벤트를 캐치 해서 쿠키에 값을 설정한다.

- 참고 : http://www.blueb.co.kr/bbs.php?table=JS_12&where=ALL&search_step=1&category=쿠키&query=view&uid=87&p=1

+ Recent posts