นึกอยากสร้างตัวแปร ตัวแปรหนึ่งเก็บค่าเอาไว้ทำงานภายหลัง คิดว่าจะใช้ 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>