// GetCookie, SetCookie 지식인펌
// 라이브러리형식 작성


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title> sjisbmoc </title>
<script>
<!--

// 폼 객체를 담을 변수
var fm;

// 쿠키를 가져오는 함수
function getCookieVal(offset)
{
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

// 쿠키에 등록된 값중 해당 이름의 쿠키값을 찾는 함수
function GetCookie(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) //while open
    {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
            return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    } //while close
    return null;
}

// 쿠키를 저장 하는 함수
function SetCookie(name, value)
{
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (2 < argc) ? argv[2] : null;
    var path = (3 < argc) ? argv[3] : null;
    var domain = (4 < argc) ? argv[4] : null;
    var secure = (5 < argc) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" :
        ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
}

// 화면 로딩이 완료된 후 실행되는 함수
window.onload = function()
{
    // 폼 객체를 받아 놓음
    fm  = document.frm;
    // 체크 박스를 컨트롤할 user_chk 이름으로 저장된 쿠키 값을 알아옴
    var user_chk = GetCookie('user_chk');
    // id를 컨트롤할 user_id 이름으로 저장된 쿠키 값을 알아옴
    var id  = GetCookie('user_id');
    // password를 컨트롤할 user_pwd 이름으로 저장된 쿠키 값을 알아옴
    var pwd = GetCookie('user_pwd');

    // 체크박스가 체크된 경우만 쿠키 적용
    if(user_chk=='true')
    {
        // 체크박스를 체크 되도록
        fm.user_chk.checked             = user_chk;
        // 쿠키에 저장된 id 값이 있으면 적용
        if(id!=null) fm.user_id.value   = id;
        // 쿠키에 저장된 password 값이 있으면 적용
        if(pwd!=null) fm.user_pwd.value = pwd;
    }
}

// 체크박스 변동 및 id, password 값 입력시 호출 되는 함수
function fncSaveCookie()
{
    // 체크 박스가 체크된 경우
    if(fm.user_chk.checked)
    {
        // 체크박스 체크값여부 저장
        SetCookie('user_chk',true);
        // id를 쿠키이름 user_id 으로 입력된 값을 저장
        SetCookie('user_id',fm.user_id.value);
        // password를 쿠키이름 user_pwd 으로 입력된 값을 저장
        SetCookie('user_pwd',fm.user_pwd.value)
    }
    // 체크 박스가 체크되지 않은 경우
    else
    {
        // 체크박스 체크여부 저장
        SetCookie('user_chk',false);
        // id를 쿠키이름 user_id 으로 공백 값을 저장
        SetCookie('user_id','');
        // password를 쿠키이름 user_pwd 으로 공백 값을 저장
        SetCookie('user_pwd','');
    }
}

//-->
</script>
    </head>
    <body>
<form name='frm'>

        <table cellpadding='0' cellspacing='0' border='0'>
            <tr>
                <td>쿠키저장</td>
                <td><input type='checkbox' name='user_chk' onclick='fncSaveCookie();'></td>
            </tr>
            <tr>
                <td>아이디</td>
                <td><input type='text' name='user_id' onkeyup='fncSaveCookie();'></td>
            </tr>
            <tr>
                <td>비밀번호</td>
                <td><input type='text' name='user_pwd' onkeyup='fncSaveCookie();'></td>
            </tr>
        </table>

</form>
    </body>
</html>

'Computer > Software' 카테고리의 다른 글

[Linux] 페도라15 설치  (0) 2011.07.14
[Tool] promqry 1.0  (0) 2011.07.14
프로미스큐어스 모드  (0) 2011.07.13
[javascript] cookie 설정, 사용, 해제 소스 2  (0) 2011.07.12
[javascript] cookie 설정, 사용, 해제 소스  (0) 2011.07.12
현재창에서 쿠키보는법  (0) 2011.07.11
Posted by Xapilla

댓글을 달아 주세요