Cookie Data Into Form Text

[Total: 0    Average: 0/5]

This example takes a value in a cookie and puts it into the form text box.

Head Code:

<script type=text/javascript>
function Cookie(document,name,hours,path,domain,secure) {
 // any VAR in "this" that does not start with a "$" will
 // be written into the cookie (read from also)
  this.$doc  = document
  this.$name = name
  if (hours)  this.$expiration=new Date((new Date()).getTime()+hours*3600000); else this.$expiration = null
  if (path)   this.$path   = path;                                             else this.$path       = null
  if (domain) this.$domain = domain;                                           else this.$domain     = null
  if (secure) this.$secure = true;                                             else this.$secure     = false
}

function CookieWrite() {
  var cookieval=""
  for(var prop in this) {
    if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function') || prop == '') continue
	if (cookieval != "") cookieval += '&'
	cookieval+=prop+":"+escape(this[prop])
  }
  var cookie=this.$name+"="+cookieval
  if (this.$expiration) cookie+='; expires=' + this.$expiration.toGMTString()
  if (this.$path)       cookie+='; path='    + this.$path
  if (this.$domain)     cookie+='; domain='  + this.$domain
  if (this.$secure)     cookie+='; secure'
 //alert("writting cookie="+cookie)
  this.$doc.cookie=cookie
}

function CookieRead() {
  var allcookies=this.$doc.cookie
  if (allcookies=="") {
    return false
  }
  var start= allcookies.indexOf(this.$name+'=')
  if (start== -1) {
    return false
  }
  start += this.$name.length+1
  var end=allcookies.indexOf(';',start)
  if (end == -1) end=allcookies.length
  var cookieval = allcookies.substring(start,end)
  var a = cookieval.split('&')
  for (var i=0;i<a.length;i++) a[i]=a[i].split(':')
  for (var i=0;i<a.length;i++) this[a[i][0]]=unescape(a[i][1])
  return true
}

function CookieDelete() {
  var cookie = this.$name+'='
  if (this.$path)   cookie+='; path='+this.$path
  if (this.$domain) cookie+='; domain='+this.$domain
  cookie+='; expires=Fri, 02-Jan-1970 00:00:00 GMT' // MAKE IT EXPIRE!
  this.$doc.cookie=cookie
}

new Cookie()
Cookie.prototype.write = CookieWrite
Cookie.prototype.del   = CookieDelete
Cookie.prototype.read  = CookieRead
</script>

Init Code:

document.exf1.t1.value=myCookie.text;

Body Code:

<script type=text/javascript>
var myCookie = new Cookie(document,"myName",240);
if (!myCookie.read() || !myCookie.text) {
  myCookie.text=prompt("Enter Text:","");
}
myCookie.write();
var msg = myCookie.text?myCookie.text:'Default Text';
document.write(msg);
function changeText() {myCookie.text=prompt("Enter Text:","");myCookie.write();document.exf1.t1.value=myCookie.text;}
</script>
<BR><a href="javascript:document.location=document.location">Reload this page (read the cookie)</a>
<BR><a href="javascript:changeText()">Change the text value in the cookie</a>
<BR><a href="javascript:myCookie.del()">Click Me To Delete This Cookie</A>

<form name=exf1>
<input type=text name=t1 value="no value">
</form>
<HR>
normally you would put this into the BODY tag:
<BR>
onload="document.exf1.t1.value=myCookie.text;"
<script>
document.onload="document.exf1.t1.value=myCookie.text;"
</script>

Times Viewed: 8

Leave a Reply

Your email address will not be published. Required fields are marked *