I'm loading up a JS Array with a Cold Fusion query and that works fine. However, when I try to get the resulting Java Script array into a form for output it doesn't work. If you can see what's wrong, please email me at frankhilliard@home.com. Here's a URL where you can see what happens:
Here's the code:
<code>
<html>
<head>
<title>Untitled</title>
</head>
<CFQUERY name="getnames" datasource="cfug1">
SELECT id, number, rannumber, visits, password, firstname, lastname, city,
provstate, country, email, organization, clientaddress, clientbrowser, url,
listserv
FROM Members
Order by Lastname
</CFQUERY>
<body>
<br>
<H1>Test area</H1>
<HR>
<cfoutput>
<script language="JavaScript">
//store array for addresses
var rec_count = #getnames.recordCount#;
var id = new Array(rec_count);
var number = new Array(rec_count);
var rannumber = new Array(rec_count);
var visits = new Array(rec_count);
var password = new Array(rec_count);
var firstname = new Array(rec_count);
var lastname = new Array(rec_count);
var city = new Array(rec_count);
var provstate = new Array(rec_count);
var country = new Array(rec_count);
var email = new Array(rec_count);
var organization = new Array(rec_count);
var clientaddress = new Array(rec_count);
var clientbrowser = new Array(rec_count);
var url = new Array(rec_count);
var listserv = new Array(rec_count);
<cfset count = 0>
<cfloop query="getnames">
number[#count#]= "#number#";
rannumber[#count#]= "#rannumber#";
firstname[#count#]= "#firstname#";
lastname[#count#]= "#lastname#";
city[#count#]= "#city#";
provstate[#count#]= "#provstate#";
country[#count#]= "#country#";
email[#count#]= "#email#";
organization[#count#]= "#organization#";
url[#count#]= "#url#";
<cfset count = count +1>
</cfloop>
</cfoutput>
//Now the function that is caused by an onchange() from a select box
//JS event:
function changeAddress(obj){
var j = obj.selectedIndex - 1;
with (document.displaymembers){
firstname.value = firstname[j];
lastname.value = lastname[j];
number.value = number[j];
rannumber.value = rannumber[j];
city.value = city[j];
provstate.value = provstate[j];
country.value = country[j];
email.value = email[j];
organization.value = organization[j];
url.value = url[j];
}
}
</script>
<font face-"arial, helvetica" size="3" color="navy">
<form name="displaymembers">
<select name="getnames" onchange="changeAddress(this)">
<option value="">Personal Addresses
<cfif getnames.recordCount gt 0>
<cfoutput query="getnames">
<option value="#id#">#lastname#
</cfoutput>
</cfif>
</select>
<br>
<input type="text" name="firstname" value="">
<input type="text" name="lastname" value="">
</font>
</form>
</font>
</body>
</html>
</code>
Here's the code:
<code>
<html>
<head>
<title>Untitled</title>
</head>
<CFQUERY name="getnames" datasource="cfug1">
SELECT id, number, rannumber, visits, password, firstname, lastname, city,
provstate, country, email, organization, clientaddress, clientbrowser, url,
listserv
FROM Members
Order by Lastname
</CFQUERY>
<body>
<br>
<H1>Test area</H1>
<HR>
<cfoutput>
<script language="JavaScript">
//store array for addresses
var rec_count = #getnames.recordCount#;
var id = new Array(rec_count);
var number = new Array(rec_count);
var rannumber = new Array(rec_count);
var visits = new Array(rec_count);
var password = new Array(rec_count);
var firstname = new Array(rec_count);
var lastname = new Array(rec_count);
var city = new Array(rec_count);
var provstate = new Array(rec_count);
var country = new Array(rec_count);
var email = new Array(rec_count);
var organization = new Array(rec_count);
var clientaddress = new Array(rec_count);
var clientbrowser = new Array(rec_count);
var url = new Array(rec_count);
var listserv = new Array(rec_count);
<cfset count = 0>
<cfloop query="getnames">
number[#count#]= "#number#";
rannumber[#count#]= "#rannumber#";
firstname[#count#]= "#firstname#";
lastname[#count#]= "#lastname#";
city[#count#]= "#city#";
provstate[#count#]= "#provstate#";
country[#count#]= "#country#";
email[#count#]= "#email#";
organization[#count#]= "#organization#";
url[#count#]= "#url#";
<cfset count = count +1>
</cfloop>
</cfoutput>
//Now the function that is caused by an onchange() from a select box
//JS event:
function changeAddress(obj){
var j = obj.selectedIndex - 1;
with (document.displaymembers){
firstname.value = firstname[j];
lastname.value = lastname[j];
number.value = number[j];
rannumber.value = rannumber[j];
city.value = city[j];
provstate.value = provstate[j];
country.value = country[j];
email.value = email[j];
organization.value = organization[j];
url.value = url[j];
}
}
</script>
<font face-"arial, helvetica" size="3" color="navy">
<form name="displaymembers">
<select name="getnames" onchange="changeAddress(this)">
<option value="">Personal Addresses
<cfif getnames.recordCount gt 0>
<cfoutput query="getnames">
<option value="#id#">#lastname#
</cfoutput>
</cfif>
</select>
<br>
<input type="text" name="firstname" value="">
<input type="text" name="lastname" value="">
</font>
</form>
</font>
</body>
</html>
</code>