Código:
Ese es el dichoso código, al seleccionar Otros.. del combo, salta el error, es porque para esa opción no ha sido definido o creado el arreglo correspondiente.<HTML> <HEAD> <FORM NAME="Listas" METHOD="POST" ACTION="receive.asp"> Categorías <SELECT NAME="Categorias" SIZE="1" OnChange="ComponerLista (document.forms.Listas.Categorias[selectedIndex].value);"> <OPTION VALUE="1" SELECTED>Libros</OPTION> <OPTION VALUE="2">Discos</OPTION> <OPTION VALUE="3">Websites</OPTION> <OPTION VALUE="4">Otros..</OPTION> </SELECT> Productos <SELECT NAME="Productos" SIZE="1"> </SELECT> <INPUT TYPE="submit"> </FORM> <SCRIPT LANGUAGE="Javascript"> <!-- function Tupla ( campo1, campo2 ) { this.campo1 = campo1; this.campo2 = campo2; } var opciones1 = new Array(); opciones1[0]=new Tupla("Dracula","1"); opciones1[1]=new Tupla("Don Quijote","2"); opciones1[2]=new Tupla("Fantasmas","3"); var opciones2 = new Array(); opciones2[0]=new Tupla("California Dreamin'","4"); opciones2[1]=new Tupla("Led Zeppelin IV","5"); opciones2[2]=new Tupla("Nos sobran los motivos","6"); opciones2[3]=new Tupla("Oracle","7"); var opciones3 = new Array(); opciones3[0]=new Tupla("Hotscript","8"); opciones3[1]=new Tupla("La Cueva de Smaug","9"); opciones3[2]=new Tupla("Maestros del Web","10"); opciones3[3]=new Tupla("4Guys From Rolla","11"); opciones3[4]=new Tupla("Web Developers Virtual Library","12"); opciones3[5]=new Tupla("Disney OffLine","13"); var contador; function ComponerLista ( array ) { BorrarLista(); array = eval("opciones" + array); for (contador=0; contador<array.length; contador++) { var optionObj = new Option( array[contador].campo1, array[contador].campo2 ); Listas.Productos.options[contador] = optionObj; } } function BorrarLista() { Listas.Productos.length=0; } //Inicializamos ComponerLista (1); --> </SCRIPT> </FORM> </BODY> </HTML>
Entonces de que manera puedo manejar el error, lo he intentado de muchas formas sin éxito, espero que uds puedan ayudarme a salvar ese error. No me vayan a decir que ponga datos para Otros.., que yo quiero manejarlo ese error. quiero respuestas coherentes, novatos abstenerse.
Gracias y saludos.