scooterDIVISION
Programmer
Here's the situation, the follwoing script works with three combo boxes, when I attempt to add the forth it generates the following errors, from the Netscape JS Debugger
Line 1591
thirdGroup[j] has no properties
(there would be 1994 lines with all the arrays populated)
The arrays are populated with a Cold Fusion Script.
haaaalllllpppppp!!!!
<!--- insane amounts of code below --->
<cfinclude template="../queries/qry_inv_picklist.cfm">
<html>
<head>
<title></title>
<SCRIPT LANGUAGE=javascript>
<!--
function initSelections()
{
var f
f = document.forms.nsnlookup
f.nsn.options[0].selected = true
f.EquipmentType.options[0].selected = true
f.Manufacturer.options[0].selected = true
f.Model.options[0].selected = true
}
//-->
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" onLoad="initSelections();">
<FORM name="nsnlookup">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
<select name="nsn" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>Select NSN First</option>
<cfoutput query="nsnpicklist">
<option>#nsn#</option>
</cfoutput>
</select>
<select name="EquipmentType" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select2--------------</option>
<option value="#" selected>---Select2--------------</option>
</select>
<select name="Manufacturer" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select3--------------</option>
<option value="#" selected>---Select3--------------</option>
</select>
<select name="Model" size="1" onChange="redirect3(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select4--------------</option>
<option value="#" selected>---Select4--------------</option>
</select>
<script>
<!--
var groups=document.nsnlookup.nsn.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group=new Array()
group[0][0]=new Option("Select NSN First","0"
;
<cfset j=1>
<cfset k=0>
<cfloop query="nsnpicklist">
group[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>]=new Option("<cfoutput>#EquipmentType#</cfoutput>"," "
;<cfset j=j+1></cfloop>
var temp=document.nsnlookup.EquipmentType
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options=new Option(group[x].text,group[x].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.nsnlookup.EquipmentType.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup=new Array(group.length)
for (j=0; j<group.length; j++) {
secondGroup[j]=new Array() }}
<cfset j=1>
<cfset k=0>
<cfset l=0>
secondGroup[0][0][0]=new Option("Select NSN First"," "
;
<cfloop query="nsnpicklist">
secondGroup[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>][<cfoutput>#l#</cfoutput>]=new Option("<cfoutput>#Manufacturer#</cfoutput>"," "
;<cfset j=j+1></cfloop>
var temp1=document.nsnlookup.Manufacturer
function redirect1
{
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].length;i++){
temp1.options=new Option(secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].text,secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].value)
}
temp1.options[0].selected=true
redirect1(0)
}
<!-- FORTH GENERATION STARTS HERE --->
var thirdGroups=document.nsnlookup.Model.options.length
var thirdGroup=new Array(groups)
for (i=0; i<groups; i++) {
thirdGroup=new Array(group.length)
for (j=0; j<group.length; j++) {
thirdGroup[j]=new Array() }
for (k=0; k<group.length; k++) {
thirdGroup[j][k]=new Array() }
for (l=0; l<group.length; l++) {
thirdGroup[j][k][l]=new Array() }}
<cfset j=1>
<cfset k=0>
<cfset l=0>
<cfset m=0>
thirdGroup[0][0][0][0]=new Option("Select NSN First"," "
;
<cfloop query="nsnpicklist">
thirdGroup[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>][<cfoutput>#l#</cfoutput>][<cfoutput>#m#</cfoutput>]=new Option("<cfoutput>#Model#</cfoutput>"," "
;<cfset j=j+1></cfloop>
var temp2=document.nsnlookup.Model
function redirect1(z){
for (n=temp2.options.length-1;n>0;n--)
temp2.options[n]=null
for (i=0;i<thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].length;i++){
temp2.options=new Option(thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].text,thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].value)
}
temp2.options[0].selected=true
}
function redirect2(z){
window.location=temp1[z].value
}
//-->
</script>
</td>
</tr>
</table>
</FORM>
Line 1591
thirdGroup[j] has no properties
(there would be 1994 lines with all the arrays populated)
The arrays are populated with a Cold Fusion Script.
haaaalllllpppppp!!!!
<!--- insane amounts of code below --->
<cfinclude template="../queries/qry_inv_picklist.cfm">
<html>
<head>
<title></title>
<SCRIPT LANGUAGE=javascript>
<!--
function initSelections()
{
var f
f = document.forms.nsnlookup
f.nsn.options[0].selected = true
f.EquipmentType.options[0].selected = true
f.Manufacturer.options[0].selected = true
f.Model.options[0].selected = true
}
//-->
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" onLoad="initSelections();">
<FORM name="nsnlookup">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
<select name="nsn" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>Select NSN First</option>
<cfoutput query="nsnpicklist">
<option>#nsn#</option>
</cfoutput>
</select>
<select name="EquipmentType" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select2--------------</option>
<option value="#" selected>---Select2--------------</option>
</select>
<select name="Manufacturer" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select3--------------</option>
<option value="#" selected>---Select3--------------</option>
</select>
<select name="Model" size="1" onChange="redirect3(this.options.selectedIndex)">
<option value="#" selected>Select NSN First </option>
<option value="#" selected>---Select4--------------</option>
<option value="#" selected>---Select4--------------</option>
</select>
<script>
<!--
var groups=document.nsnlookup.nsn.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group=new Array()
group[0][0]=new Option("Select NSN First","0"
<cfset j=1>
<cfset k=0>
<cfloop query="nsnpicklist">
group[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>]=new Option("<cfoutput>#EquipmentType#</cfoutput>"," "
var temp=document.nsnlookup.EquipmentType
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options=new Option(group[x].text,group[x].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.nsnlookup.EquipmentType.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup=new Array(group.length)
for (j=0; j<group.length; j++) {
secondGroup[j]=new Array() }}
<cfset j=1>
<cfset k=0>
<cfset l=0>
secondGroup[0][0][0]=new Option("Select NSN First"," "
<cfloop query="nsnpicklist">
secondGroup[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>][<cfoutput>#l#</cfoutput>]=new Option("<cfoutput>#Manufacturer#</cfoutput>"," "
var temp1=document.nsnlookup.Manufacturer
function redirect1
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].length;i++){
temp1.options=new Option(secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].text,secondGroup[document.nsnlookup.nsn.options.selectedIndex][y].value)
}
temp1.options[0].selected=true
redirect1(0)
}
<!-- FORTH GENERATION STARTS HERE --->
var thirdGroups=document.nsnlookup.Model.options.length
var thirdGroup=new Array(groups)
for (i=0; i<groups; i++) {
thirdGroup=new Array(group.length)
for (j=0; j<group.length; j++) {
thirdGroup[j]=new Array() }
for (k=0; k<group.length; k++) {
thirdGroup[j][k]=new Array() }
for (l=0; l<group.length; l++) {
thirdGroup[j][k][l]=new Array() }}
<cfset j=1>
<cfset k=0>
<cfset l=0>
<cfset m=0>
thirdGroup[0][0][0][0]=new Option("Select NSN First"," "
<cfloop query="nsnpicklist">
thirdGroup[<cfoutput>#j#</cfoutput>][<cfoutput>#k#</cfoutput>][<cfoutput>#l#</cfoutput>][<cfoutput>#m#</cfoutput>]=new Option("<cfoutput>#Model#</cfoutput>"," "
var temp2=document.nsnlookup.Model
function redirect1(z){
for (n=temp2.options.length-1;n>0;n--)
temp2.options[n]=null
for (i=0;i<thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].length;i++){
temp2.options=new Option(thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].text,thirdGroup[document.nsnlookup.nsn.options.selectedIndex][z].value)
}
temp2.options[0].selected=true
}
function redirect2(z){
window.location=temp1[z].value
}
//-->
</script>
</td>
</tr>
</table>
</FORM>