Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/07/2003, 08:54
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 1 mes
Puntos: 7
Cita:
novatos abstenerse
¿No crees qué eso es una grosería?
¿Por qué limitar la libre expresión? Al fin de cuentas, si la respuesta no te sirve, no la usas, y asunto acabado.

Yo dudaba en poner una respuesta, ya que nunca me he sentido "experto" pero aquí tienes:

Dices que quieres manejar el error. Entonces, usa el evento "onerror":

Código:
window.onerror = controlarError;

function controlarError(msgError, urlArchivo, numLinea) {
	alert("Error: " + msgError +
	"\nArchivo: " + urlArchivo +
	"\nLínea: " + numLinea);
	return true;
}
En la anterior función, reemplacé el mensaje de error que te muestra la ventana, por uno personalizado en un alert. Obviamente, tu tendrías que hacer lo que te plazca con las tres variables disponibles para la función. Quitando el alert, dejarás de recibir mensajes de error en tiempo de ejecución, pero desde luego, eso no significa que no ocurran.

¿qué no es eso lo que buscabas?

Entonces, simplemente modifica tu función "ComponerLista" para que no haga nada con la opción otros. Suponiendo, que la lista "Categorias" pudiera modificarse para tener más opciones, y ya que la opción otros suele ser la última de la lista, modifiqué tu función para que con la última opción no haga nada más que poner en blanco la lista "Productos".

Código:
function ComponerLista ( array ) {
   BorrarLista();
   if(parseInt(array) == (Listas.Categorias.length)) return;
   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;
   }
}
En mi opinión de novato, debería haber un campo de texto disponible en lugar de la lista cuando la opción "Otros" sea elegida. Pero esa es sólo mi opinión.