สร้าง Cookies ใน Java Script เพื่อกำหนดค่าข้อมูลแทนการใช้ SESSION

นึกอยากสร้างตัวแปร ตัวแปรหนึ่งเก็บค่าเอาไว้ทำงานภายหลัง คิดว่าจะใช้ Session เข้ามาช่วย แต่ Session มันไม่สามารถทำได้ใน Java Script ก็เลยหาวิธีอื่น ก็เลยไปเจอที่ อ. google โดยใช้การสร้าง cookies แทน สรุปว่างานนี้ work สามารถ เก็บค่าตัวแปรได้

ไฟล์ cokiejax.js


// COOKIES
var Cookies = {
 init: function () {
 var allCookies = document.cookie.split('; ');
 for (var i=0;i
 var cookiePair = allCookies[i].split('=');
 this[cookiePair[0]] = cookiePair[1];
 }
 },
 create: function (name,value,days) {
 if (days) {
 var date = new Date();
 date.setTime(date.getTime()+(days*24*60*60*1000));
 var expires = "; expires="+date.toGMTString();
 }
 else var expires = "";
 document.cookie = name+"="+value+expires+"; path=/";
 this[name] = value;
 },
 erase: function (name) {
 this.create(name,'',-1);
 this[name] = undefined;
 }
};
Cookies.init();

// INITIALISE PREFERENCES (needs cookies)

var Preferences = {
 init: function () {
 if (!Cookies.sitePrefs) return;
 sitePrefs = Cookies.sitePrefs.split(',,');
 for (var i=0;i
 var oneSitePref = sitePrefs[i].split(':');
 this[oneSitePref[0]] = oneSitePref[1];
 }
 }
};
Preferences.init();

วิธีการใช้งาน


<script type="text/javascript" src="cokiejax.js"></script>

<form name="frm" method="post" action="">
<input name="cookiename"  type="hidden" value="website">
<input name="cookievalue"  type="hidden" value="todsapon.com">
</form>

<script language="JavaScript" type="text/javascript">
/////// Define Cookies
 var name = document.forms['frm'].cookiename.value;
 var val = document.forms['frm'].cookievalue.value;
/////// Create Cookies
 Cookies.create(name,val,7);
</script>

<script language="JavaScript" type="text/javascript">
function readCookie(name) {
 var nameEQ = name + "=";
 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(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return null;
}

/////// Read Cookies
 if (readCookie('website') == "todsapon.com")
 {
 alert("Creat cookies completed");
 }

/////// Delete Cookies
 Cookies.erase('website');
</script>