Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/03/2003, 07:32
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueno, tiene unos arreglillos, pero son parches.

Si más adelante añades más arrays, habrás de cambiar un valor.

Ahí te dejo el código tal y como he logrado que me funcionara sin errores:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="Javascript">
<!--
function Tupla ( campo1, campo2)
{
this.campo1 = campo1;
this.campo2 = campo2;

}
function Tupla2 ( campo1, campo2)
{
this.campo1 = campo1;
this.campo2 = campo2;

}

var opciones1 = new Array();
opciones1[0]=new Tupla("Accesorios en aluminio","5");
opciones1[1]=new Tupla("Complementos","6");
opciones1[2]=new Tupla("Equipamiento interior","7");

var opciones2 = new Array();
opciones2[0]=new Tupla("Frentes de armario","8");
opciones2[1]=new Tupla("Puertas correderas","9");
opciones2[2]=new Tupla("Sistema de puertas plegables correderas","10");

var opciones3 = new Array();
opciones3[0]=new Tupla("Guías y correderas","11");
opciones3[1]=new Tupla("Cajones M2 para guías de rodillo","12");
opciones3[2]=new Tupla("Cajones M2 para quía de precisión extracción parcial","13");
opciones3[3]=new Tupla("Cajones M2 para guías de precisión extracción total","14");
opciones3[4]=new Tupla("Accesorios","15");
opciones3[5]=new Tupla("Cajones M2","16");
opciones3[6]=new Tupla("Accesorios para cacerolero","17");

var opciones4 = new Array();
opciones4[0]=new Tupla("Mamparas","18");
opciones4[1]=new Tupla("Platos de ducha","19");
opciones4[2]=new Tupla("Perfiles auxiliares","20");
opciones4[3]=new Tupla("Acabados y colores","21");
//******* ********** *********** ***********

var opciones5 = new Array();
opciones5[0]=new Tupla2("Accesorios de encimera","24");
opciones5[1]=new Tupla2("Cantoneras para puertas","26");
opciones5[2]=new Tupla2("Copetes","22");
opciones5[3]=new Tupla2("Golas","29");
opciones5[4]=new Tupla2("Rejillas de ventilación","27");
opciones5[5]=new Tupla2("Tiradores","25");
opciones5[6]=new Tupla2("Vitrinas","28");
opciones5[7]=new Tupla2("Zocalos","23");

var opciones6 = new Array();
opciones6[0]=new Tupla2("Accesorios","31");
opciones6[1]=new Tupla2("Conducciones de humos","34");
opciones6[2]=new Tupla2("Herraje apertura vertical","33");
opciones6[3]=new Tupla2("Perfiles especiales","30");
opciones6[4]=new Tupla2("Protector para fondo de fregadero","32");

var opciones7 = new Array();
opciones7[0]=new Tupla2("Línea Blanca","35");
opciones7[1]=new Tupla2("Línea Cromo","36");

var opciones8 = new Array();
opciones8[0]=new Tupla2("Accesorios","39");
opciones8[1]=new Tupla2("Perfiles de armario","38");
opciones8[2]=new Tupla2("Tiradores","37");

var opciones9 = new Array();
opciones9[0]=new Tupla2("Accesorios","41");
opciones9[1]=new Tupla2("Perfiles","40");

var contador;

function ComponerLista ( array ) {
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista();
array = eval("opciones" + array);

for (contador=0; contador<array.length; contador++)
{
// añade elementos nuestro combobox
var optionObj = new Option( array[contador].campo1, array[contador].campo2 );

Listas.Productos.options[contador] = optionObj;

} // for
} // ComponerLista


function BorrarLista() {

document.Listas.Productos.length=0;


}

//Inicializamos
//ComponerLista (1);

var contador2;

function ComponerLista2 ( array ) {
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista2();
if(array>9){document.Listas.SubProductos.style.vis ibility='hidden' ;return false}
else{
document.Listas.SubProductos.style.visibility='vis ible'
array = eval("opciones" + array);

for (contador2=0; contador2<array.length-1; contador2++)
{
// añade elementos nuestro combobox
var optionObj2 = new Option( array[contador2].campo1, array[contador2].campo2 );

Listas.SubProductos.options[contador2] = optionObj2;
}
} // for
} // ComponerLista


function BorrarLista2() {

document.Listas.SubProductos.length=0;
}

//Inicializamos
//ComponerLista2 (1);

-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="Listas">
<SELECT NAME="Categorias" SIZE="1"
OnChange="ComponerLista (document.forms.Listas.Categorias[selectedIndex].value);">
<OPTION VALUE="1" SELECTED>Cocina</OPTION>
<OPTION VALUE="2">Frentes de armario</OPTION>
<OPTION VALUE="3">Cajón modular de aluminio M2</OPTION>
<OPTION VALUE="4">Mamparas de baño</OPTION>
</SELECT>

<SELECT NAME="Productos" SIZE="1"
OnChange="ComponerLista2 (document.forms.Listas.Productos[selectedIndex].value);">
<OPTION VALUE="5" SELECTED>Accesorios en aluminio</OPTION>
<OPTION VALUE="6">Complementos</OPTION>
<OPTION VALUE="7">Equipamiento interior</OPTION>
<OPTION VALUE="8">Frentes de armario</OPTION>
<OPTION VALUE="9">Puertas correderas</OPTION>
<OPTION VALUE="10">Sistema de puertas plegables correderas</OPTION>
<OPTION VALUE="11">Guías y correderas</OPTION>
<OPTION VALUE="12">Cajones M2 para guías de rodillo</OPTION>
<OPTION VALUE="13">Cajones M2 para quía de precisión extracción parcial</OPTION>
<OPTION VALUE="14">Cajones M2 para guías de precisión extracción total</OPTION>
<OPTION VALUE="15">Accesorios</OPTION>
<OPTION VALUE="16">Cajones M2</OPTION>
<OPTION VALUE="17">Accesorios para cacerolero</OPTION>
<OPTION VALUE="18">Mamparas</OPTION>
<OPTION VALUE="19">Platos de ducha</OPTION>
<OPTION VALUE="20" >Perfiles auxiliares</OPTION>
<OPTION VALUE="21">Acabados y colores</OPTION>
</SELECT>

<SELECT NAME="SubProductos" size="1">
<OPTION VALUE="22" SELECTED>Copetes</OPTION>
<OPTION VALUE="23">Zocalos</OPTION>
<OPTION VALUE="24">Accesorios de encimera</OPTION>
<OPTION VALUE="25">Tiradores</OPTION>
<OPTION VALUE="26">Cantoneras para puertas</OPTION>
<OPTION VALUE="27">Rejillas de ventilación</OPTION>
<OPTION VALUE="28">Vitrinas</OPTION>
<OPTION VALUE="29">Golas</OPTION>
<OPTION VALUE="30">Perfiles especiales</OPTION>
<OPTION VALUE="31">Accesorios</OPTION>
<OPTION VALUE="32">Protector para fondo de fregadero</OPTION>
<OPTION VALUE="33">Herraje apertura vertical</OPTION>
<OPTION VALUE="34">Conducciones de humos</OPTION>
<OPTION VALUE="35">Línea Blanca</OPTION>
<OPTION VALUE="36">Línea Cromo</OPTION>
<OPTION VALUE="37">Tiradores</OPTION>
<OPTION VALUE="38">Perfiles de armario</OPTION>
<OPTION VALUE="39">Accesorios</OPTION>
<OPTION VALUE="40">Perfiles</OPTION>
<OPTION VALUE="41">Accesorios</OPTION>
</SELECT>
</form>
</body>
</html>

Yá me dirás algo