Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2014, 15:50
andres18281
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 2 meses
Puntos: 0
verificar si existe array o no

Saludos,
Intento validar en una funcion si hay existe un array mediante el if if(codigo[elemento] != 'undefined' || codigo[elemento] != null || typeof codigo[elemento] === Array ){ donde "elemento" es la posición que le paso por parametro y si no existe entonce pase al else pero el problema es que siempre pasa al primer if. Para no confundirlos mas lo que hice fue un ecommerce donde al mostrar todos los productos internamente en un ciclo for guarde en un array codigo[ $i ] = $codigo varios atributos donde cada producto tiene un boton el cual el id es $i asi que al darle click al boton se activa onClick= agregar(this.id) obtengo el id y asi la posición del array y saber que producto dio click, esto sucede bien en el if principal. En el else funciona cuando alguien le de ver mas podra ver mas fotos y estara el boton comprar mas pero ya no hay arrays sino solo var codigo = $codigo" donde al dar click en comprar aparece onClick = agregar(codigo) sin embargo siempre tiende a ingresar por el if y no por el else donde deberia de pasar pues un codigo puede ser 13342 y esa posicion no existe en mi array.
Gracias..

Código Javascript:
Ver original
  1. function agregar(elemento){
  2.             var cant = 0;
  3.            if(codigo[elemento] != 'undefined' || codigo[elemento] != null || typeof codigo[elemento] === Array ){
  4.              codigo = codigo[elemento];
  5.              cant = document.getElementById('txt_cantidad'+elemento).value;
  6.              costo = costo[elemento];
  7.             alert("codigo : "+codigo+ " cantidad: "+cant+" costo : "+costo);
  8.         }else{
  9.             codigo = elemento;
  10.             cant = document.getElementById('txt_cantidad').value;
  11.             alert("codigo : "+codigo+" cantidad : "+cant +" costo "+costo);
  12.            
  13.         }
  14. }