Solved

Holding data between form posts

Posted on 2004-10-07
5
165 Views
Last Modified: 2013-12-25
Hey guys,

I have a page that contains a number of dropdowns and text boxes
Two of the dropdowns interact with each other i.e. Dropdown one controls the content of dropdown two. [This content is read from a Sybase database]

I have done this using javascript and here is a code snippet

#CGI bit
my $co = new CGI;
my $currenturl = $co->url;
..
$co->popup_menu( -name=>'project',
                 -default=>'$project',
                 -size=>1,
                 -width=>8,
                 -values=>['', 1,2,3],
                 -onchange=>"GetSubComponents('$currenturl',this.value);",                
                 ),

#javascript bit
function GetSubComponents(url,projectid){
var urlTo;
if(projectid < 1)
{
     urlTo = url;
}
else
{
     urlTo = url + "?ProjectID="+projectid;
}
window.location.href = urlTo;
}

when the page is reloaded it checks the ProjectID parameter and changes the content of the second dropdown.

this stuff works fine the only problem is I need to keep the data that was on the page prior to the page being redirected.
How do I do this?

Vinnie
0
Comment
Question by:VincentLawlor
5 Comments
 
LVL 1

Accepted Solution

by:
Levan_Kiladze earned 500 total points
ID: 12257164
you can do it using cookies..
in CGI bit edit this way:
#CGI bit
my $co = new CGI;
my $currenturl = $co->url;
..
$co->popup_menu( -name=>'project',
                 -default=>'$project',
                 -size=>1,
                 -width=>8,
                 -values=>['', 1,2,3],
                 -onchange=>"GetSubComponents('$currenturl',this.value); SaveData()",                
                 ),


now in JAVASCRIPT bit add function like this:
//----------------------------------------------------------
function SaveData()
{
       SetCookie(document.forms[0].project,document.forms[0].project.selectedIndex,1);
}


function SetCookie(cookieName,cookieValue,nDays)
 {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}

function GetCookie(cookiename)

 {
 var cookiestring=""+document.cookie;
 var index1=cookiestring.indexOf(cookiename);
 if (index1==-1 || cookiename=="") return "";
 var index2=cookiestring.indexOf(';',index1);
 if (index2==-1) index2=cookiestring.length;
 return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}



function getvalue()
{
      if(GetCookie(document.forms[0].project) != "")
     {
         document.forms[0].project.selectedIndex = GetCookie(document.forms[0].project);
     }

}

// ----------------------------------------------------


finally, add onload event in <body> TAG..
<body onload=getvalue()>







the second way of solving your problem is using hidden fields in your form, which stores selected index.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 12312862
> .. I need to keep the data that was on the page prior to the page being redirected.
which data?
wher do you need it?
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial will discuss fancy secure registration forms, with AJAX technology support. In this article I assume you already know HTML and some JS. I will write the code using WhizBase Server Pages, so you need to know some basics in WBSP (you mig…
In this tutorial I will show you how to provide a dynamic RTF document on your website generated with data from your database. For this tutorial you will need Microsoft Word or WordPad, WhizBase and Microsoft Access. In this tutorial I will show …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question