Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2010, 05:46
silvanelve
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Desacuerdo Error por valor null

Estoy haciendo unos arreglillos con una pagina web, pero hay algo que no funciona y no se muy bien donde está el error. El problema es que en la consola de errores del Firefox me dice:

element is null.

Y esta es la linea que se supone que esta mal:

element.options.length = 0;

dentro de la funcion

function CargarCombo(ComboId, Datos)
{
var element = ObtenerElemento(ComboId);

element.options.length = 0;

for(i = 0; i < Datos.length; i++)
{
element.options[element.options.length] = new Option(Datos[i][0] + '. ' + Datos[i][1], Datos[i][0], "");
}
}



Os dejo el codigo entero a ver si me podeis echar un cable.

// JavaScript Document
var Clientes;
var CliIndex;
var Ordenes;
var OrdIndex;
var Tareas;
var TarIndex;

function InicializarTablaHash()
{
Clientes = new Array();
CliIndex = new Array();
Ordenes = new Array();
OrdIndex = new Array();
Tareas = new Array();
TarIndex = new Array();
}

function NuevaEntradaTablaHash(CodCliente, NomCliente, CodOrden, DescOrden, CodTarea, DescTarea)
{
if(CliIndex[CodCliente] == null)
{
CliIndex[CodCliente] = Clientes.length;
Clientes[CliIndex[CodCliente]] = new Array(CodCliente, NomCliente);
}

if(OrdIndex[CodCliente+CodOrden] == null)
{
if(Ordenes[CodCliente] == null)
Ordenes[CodCliente] = new Array();

OrdIndex[CodCliente+CodOrden] = Ordenes[CodCliente].length;
Ordenes[CodCliente][OrdIndex[CodCliente+CodOrden]] = new Array(CodOrden, DescOrden, new Array());
}

if(TarIndex[CodCliente+CodOrden+CodTarea+CodTarea] == null)
{
if(Tareas[CodCliente+CodOrden] == null)
Tareas[CodCliente+CodOrden] = new Array();

TarIndex[CodCliente+CodOrden+CodTarea] = Tareas[CodCliente+CodOrden].length;
Tareas[CodCliente+CodOrden][TarIndex[CodCliente+CodOrden+CodTarea]] = new Array(CodTarea, DescTarea);
}

}

function ObtenerClientes()
{
return Clientes;
}

function ObtenerOrdenesCliente(CodCliente)
{
return Ordenes[CodCliente];
}

function ObtenerTareasOrdenCliente(CodCliente, CodOrden)
{
return Tareas[CodCliente+CodOrden];
}

function CargarCombo(ComboId, Datos)
{
var element = ObtenerElemento(ComboId);

element.options.length = 0;

for(i = 0; i < Datos.length; i++)
{
element.options[element.options.length] = new Option(Datos[i][0] + '. ' + Datos[i][1], Datos[i][0], "");
}
}

function CargarClientes(ComboClientesId)
{
CargarCombo(ComboClientesId, ObtenerClientes());
}

function CargarOrdenes(ComboClientesId, ComboOrdenesId)
{
var CodCliente = ObtenerElemento(ComboClientesId).value;

CargarCombo(ComboOrdenesId, ObtenerOrdenesCliente(CodCliente));
}

function CargarTareas(ComboClientesId, ComboOrdenesId, ComboTareasId)
{
var CodCliente = ObtenerElemento(ComboClientesId).value;
var CodOrden = ObtenerElemento(ComboOrdenesId).value;

CargarCombo(ComboTareasId, ObtenerTareasOrdenCliente(CodCliente, CodOrden));
}


Gracias de antemano