Javascript Cookies
Javascript Cookies
How It Works ?
server sends some data to the visitor's browser in the form of a
cookie. The browser may accept the cookie. If it does, it is stored
as a plain text record on the visitor's hard drive. Now, when the
visitor arrives at another page on your site, the browser sends
the same cookie to the server for retrieval. Once retrieved, server
knows/remembers what was stored earlier.
Cookies are a plain text data record of 5 variable-length fields:
Expires : The date the cookie will expire. If this is blank, the
cookie will expire when the visitor quits the browser.
Domain : The domain name of your site.
Path : The path to the directory or web page that set the
cookie. This may be blank if you want to retrieve the cookie
from any directory or page.
Secure : If this field contains the word "secure" then the
cookie may only be retrieved with a secure server. If this
field is blank, no such restriction exists.
Storing Cookies:
The simplest way to create a cookie is to assign a string value to
the document.cookie object, which looks like this:
Syntax:
document.cookie =
"key1=value1;key2=value2;expires=date";
Here expires attribute is option. If you provide this attribute with
a valid date or time then cookie will expire at the given date or
time and after that cookies' value will not be accessible.
Note: Cookie values may not include semicolons, commas, or
whitespace. For this reason, you may want to use the
JavaScript escape() function to encode the value before storing it
in the cookie. If you do this, you will also have to use the
corresponding unescape() function when you read the cookie
value.
Example:
Following is the example to set a customer name in input cookie.
<html>
<head>
<script type="text/javascript">
<!-function WriteCookie()
{
if( document.myform.customer.value == "" ){
alert("Enter some value!");
return;
}
cookievalue= escape(document.myform.customer.value)
+ ";";
document.cookie="name=" + cookievalue;
alert("Setting Cookies : " + "name=" +
cookievalue );
}
//-->
</script>
</head>
<body>
<form name="myform" action="">
Enter name: <input type="text" name="customer"/>
<input type="button" value="Set Cookie"
onclick="WriteCookie();"/>
</form>
</body>
</html>
This will produce following result. Now enter something in the
text box and press the button "Set Cookie" to set the cookies.
Enter name:
Now your machine has a cookie called name. You can set multiple
cookies using multiplekey=value pairs separated by comma.
You will learn how to read this cookie in next section.
Reading Cookies:
Reading a cookie is just as simple as writing one, because the
value of the document.cookieobject is the cookie. So you can use
this string whenever you want to access the cookie.
The document.cookie string will keep a list of name=value pairs
separated by semicolons, wherename is the name of a cookie and
value is its string value.
You can use strings' split() function to break the string into key
and values as follows:
Example:
Following is the example to get the cookies set in previous
section.
<html>
<head>
<script type="text/javascript">
<!-function ReadCookie()
{
var allcookies = document.cookie;
alert("All Cookies : " + allcookies );
// Get all the cookies pairs in an array
cookiearray = allcookies.split(';');
// Now take key value pair out of this array
Example:
The following example illustrates how to set cookie expiration
date after 1 Month :
<html>
<head>
<script type="text/javascript">
<!-function WriteCookie()
{
var now = new Date();
now.setMonth( now.getMonth() + 1 );
cookievalue = escape(document.myform.customer.value)
+ ";"
document.cookie="name=" + cookievalue;
document.cookie = "expires=" + now.toUTCString() +
";"
alert("Setting Cookies : " + "name=" +
cookievalue );
}
//-->
</script>
</head>
<body>
<form name="formname" action="">
Enter name: <input type="text" name="customer"/>
<input type="button" value="Set Cookie"
onclick="WriteCookie()"/>
</form>
</body>
</html>
Deleting a Cookie:
Example:
The following example illustrates how to delete cookie by setting
expiration date one Month in past :
<html>
<head>
<script type="text/javascript">
<!-function WriteCookie()
{
var now = new Date();
now.setMonth( now.getMonth() - 1 );
cookievalue = escape(document.myform.customer.value)
+ ";"
document.cookie="name=" + cookievalue;
document.cookie = "expires=" + now.toUTCString() +
";"
alert("Setting Cookies : " + "name=" +
cookievalue );
}
//-->
</script>
</head>
<body>
<form name="formname" action="">
Enter name: <input type="text" name="customer"/>
<input type="button" value="Set Cookie"
onclick="WriteCookie()"/>
</form>
</body>
</html>
Note: Instead of setting
using setTime() function.
date,
you
can
see
new
time