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