Mega Code Archive

 
Categories / JavaScript DHTML / Development
 

Cookie

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"> <!--       Example File From "JavaScript and DHTML Cookbook"      Published by O'Reilly & Associates      Copyright 2003 Danny Goodman --> <html> <head> <title>Recipe 10.04a</title> <style rel="stylesheet" id="mainStyle" type="text/css"> html {background-color:#cccccc} body {background-color:#eeeeee; font-family:Tahoma,Arial,Helvetica,sans-serif;        font-size:12px;     margin-left:15%; margin-right:15%; border:3px groove darkred; padding:15px} h1 {text-align:right; font-size:1.5em; font-weight:bold} h2 {text-align:left; font-size:1.1em; font-weight:bold; text-decoration:underline} .buttons {margin-top:10px} </style> <script type="text/javascript"> /* cookies.js */ /*      Example File From "JavaScript and DHTML Cookbook"      Published by O'Reilly & Associates      Copyright 2003 Danny Goodman */ // utility function to retrieve a future expiration date in proper format; // pass three integer parameters for the number of days, hours, // and minutes from now you want the cookie to expire; all three // parameters required, so use zeros where appropriate function getExpDate(days, hours, minutes) {     var expDate = new Date();     if (typeof days == "number" && typeof hours == "number" && typeof hours == "number") {         expDate.setDate(expDate.getDate() + parseInt(days));         expDate.setHours(expDate.getHours() + parseInt(hours));         expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));         return expDate.toGMTString();     } } // utility function called by getCookie() function getCookieVal(offset) {     var endstr = document.cookie.indexOf (";", offset);     if (endstr == -1) {         endstr = document.cookie.length;     }     return unescape(document.cookie.substring(offset, endstr)); } // primary function to retrieve cookie by name function getCookie(name) {     var arg = name + "=";     var alen = arg.length;     var clen = document.cookie.length;     var i = 0;     while (i < clen) {         var j = i + alen;         if (document.cookie.substring(i, j) == arg) {             return getCookieVal(j);         }         i = document.cookie.indexOf(" ", i) + 1;         if (i == 0) break;      }     return null; } // store cookie value with optional details as needed function setCookie(name, value, expires, path, domain, secure) {     document.cookie = name + "=" + escape (value) +         ((expires) ? "; expires=" + expires : "") +         ((path) ? "; path=" + path : "") +         ((domain) ? "; domain=" + domain : "") +         ((secure) ? "; secure" : ""); } // remove the cookie by setting ancient expiration date function deleteCookie(name,path,domain) {     if (getCookie(name)) {         document.cookie = name + "=" +             ((path) ? "; path=" + path : "") +             ((domain) ? "; domain=" + domain : "") +             "; expires=Thu, 01-Jan-70 00:00:01 GMT";     } } </script> <script language="JavaScript" type="text/javascript"> function saveValues() {   setCookie("name1", document.forms[0].name1.value);   setCookie("name2", document.forms[0].name2.value);   setCookie("color", document.forms[0].color.options[document.forms[0].color.selectedIndex].value); } function applyValues() {   var form = document.forms[0];   form.name1.value = (getCookie("name1")) ? getCookie("name1") : "";   form.name2.value = (getCookie("name2")) ? getCookie("name2") : "";   var selValue = (getCookie("color")) ? getCookie("color") : "";   if (selValue) {     for (var i = 0; i < form.color.options.length; i++) {       if (form.color.options[i].value == selValue) {         form.color.selectedIndex = i;         break;       }     }   } } </script> </head> <body onunload="saveValues()" onload="applyValues()"> <form> <h1>Page One</h1> <hr> First Name: <input type="text" name="name1" id="name1"><br> Last Name: <input type="text" name="name2" id="name2"><br> Your favorite color: <select id="color" name="color">   <option value="">Pick a color:</option>   <option value="Red">Red</option>   <option value="Green">Green</option>   <option value="Blue">Blue</option> </select> </form> </body> </html>