[thelist] javascript variable issue (continued)
ALBIE ATTIAS
ALBIE at eurosimm.com
Fri Aug 31 10:00:16 CDT 2001
Hassan
As you can see, it now almost works. The only snag is that the first three
variables always seem to be undefined. I've tried to work out why but I
can't spot it. Can you? Hopefully this'll be the last time I have to bother
you.
Cheers
Albie Attias
http://www.eurosimm.com/page1.htm
-----Original Message-----
From: Hassan Schroeder [mailto:hassan at webtuitive.com]
Sent: 31 August 2001 15:33
To: thelist at lists.evolt.org
Subject: Re: [thelist] javascript variable issue (continued)
ALBIE ATTIAS wrote:
> I made the changes you suggested but I'm now getting a javascript error on
> page 2 saying "documents.forms.quiz.q1 is not an object". What am I doing
> wrong?
Your script's reference to the form name and the form name itself
don't match --
/* from script */
eval("document.forms['quiz']." + argname + ".value=" + value + ";");
<!-- in body -->
<form name="page1answers" method="get" action="page3.htm">
Also, the values aren't being set, so
/* old */
var value = pairs[i].substring(pos+1); // Extract the value
value = unescape(value); // Store as a decoded value
eval("document.forms['quiz']." + argname + ".value=" + value + ";");
/* new - changing "value" to a non-reserved word :-) */
var thisValue = pairs[i].substring(pos+1); // Extract the value
thisValue = unescape(thisValue); // Store as a decoded
value
document.forms['quiz'].elements[argname].value = thisValue;
> Also, assuming everything else is ok, what line(s) of code do I use on
page3
> to access my stored answers?
Example: move the function code out of the head and put it where you want
to display it --
<!-- within the body -->
<p>Your answers were as follows:<p>
<script language="javascript">
var query = location.search.substring(1); // Get query string
var pairs = query.split("&"); // Split at ampersand
for (var i=0; i < pairs.length; i++)
{
var pos = pairs[i].indexOf('='); // Look for "name=value"
if (pos == -1) continue; // If not found, skip
var argname = pairs[i].substring(0,pos); // Extract the name
var value = pairs[i].substring(pos+1); // Extract the value
value = unescape(value); // Store as a decoded value
document.write(argname + " = " + value + "<br />");
}
</script>
I'll leave the grading part to you :-)
HTH!
--
H*
Hassan Schroeder ----------------------------- hassan at webtuitive.com
Webtuitive Design === (+1) 408-938-0567 === http://webtuitive.com
-- creating dynamic Web sites and applications since 1994 --
---------------------------------------
For unsubscribe and other options, including
the Tip Harvester and archive of TheList go to:
http://lists.evolt.org Workers of the Web, evolt !
More information about the thelist
mailing list