Foros del Web » Programando para Internet » Javascript »

Error por valor null

Estas en el tema de Error por valor null en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/04/2010, 05:46
 
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
  #2 (permalink)  
Antiguo 27/04/2010, 19:22
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Error por valor null

verifica la funcion ObtenerElemento, concretamente que devuelva un elemento. por ahi debe estar el problema.

@edit,
me olvide añadir, que tambien puede ser que el elemento no existe en el documento al momento de invocar la funcion. ya sea porque no existe un elemento con dicho ID o porque el navegador aun no ha analizado el elemento en particular.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 27/04/2010 a las 19:31

Etiquetas: null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.