Click to See Complete Forum and Search --> : Read cookie & send results with form
5sisters
12-28-2002, 12:29 PM
Hi,
I'm kind of a newbie so if this is an easy one i apologise...
I have some js script on a couple of my pages that I want to develop further. It sets a cookie which is a little list of free samples that browsers can create as they browse the site...
Based on the to-do-list found here...
http://javascript.internet.com/cookies/to-do-list.html
What I want this to do is work a bit like a shopping cart except that all the perl carts I looked at were over complicated in that they all ask for payment...
Anyway I can get the list to display on any page using..
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
ListToDoItems();
// End -->
</SCRIPT>
How do I get this to be automatically included in a form as a hidden field?
<input type="hidden" name="subject" value="??">
Is this possible??? All help welcome
5sisters
12-28-2002, 12:52 PM
Dave,
I have attached the js script. sorry for the ambiguity.
And I apologise if I ask silly questions, I'm not much of a js expert :)
.
To display the cookie in a page this works...
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
ListToDoItems();
// End -->
</SCRIPT>
So are you saying that all I have to do is put..
document.formName.hiddenFieldName.value = "ListToDoItems()";
5sisters
12-28-2002, 12:56 PM
Here is the js on the head of the page
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var expDays = 1;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
var ShowCount = 0;
var SwapColour;
function ListToDoItems() {
var NumToDoItems = GetCookie('PT_NumToDoList');
var i;
var ToDoItem;
if (NumToDoItems == null) {
NumToDoItems = 0;
}
ShowCount = 0; SwapColour = 0;
for (i=1; i <= NumToDoItems; i++) {
ToDoItem = GetCookie('PT_ToDoItem'+i);
if (ToDoItem != null) {
PrintItem(ToDoItem, i);
}
}
}
function DeleteItem(Count) {
DeleteCookie('PT_ToDoItem'+Count);
window.location = window.location;
}
function PrintItem (ToDoItem, Count) {
var color = "";
SwapColour = 1 - SwapColour;
if (SwapColour==1) {color = "bgcolor='#c0c0c0'"} ;
ShowCount++;
document.write("<tr " + color + ">");
document.write("<td width=10% align=center valign=top><small><b>"+ShowCount);
document.write("<td width=75% align=left ><small>"+ToDoItem);
document.write("<td width=15% align=center><small>"+"<a href='javascript:DeleteItem(" + Count + ")'>Delete</a>");
}
function AddItem() {
var NumToDoItems = GetCookie('PT_NumToDoList');
var i;
var ToDoItem;
if (NumToDoItems == null) {
NumToDoItems = 0;
}
ToDoItem = ("Sepia Doves");
if ((ToDoItem != null) && (ToDoItem != "undefined" )) {
NumToDoItems++;
SetCookie('PT_ToDoItem'+NumToDoItems, ToDoItem, exp);
SetCookie('PT_NumToDoList',NumToDoItems, exp);
window.location = window.location;
}
}
function set() {
VisitorName = prompt("Who are you?");
SetCookie ('VisitorName', VisitorName, exp);
SetCookie ('WWHCount', 0, exp);
SetCookie ('WWhenH', 0, exp);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
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;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// End -->
</script>
5sisters
12-28-2002, 01:31 PM
Thanks, I'll give that a try...
One more silly question...
do I still have to put the field
<input type="hidden" name="fieldname">
in the form
??