Foros del Web » Programando para Internet » Javascript »

Como guardar datos en un array multidimensional

Estas en el tema de Como guardar datos en un array multidimensional en el foro de Javascript en Foros del Web. Hola amigos. Estoy tratando de guardar datos en un array multidimensional, como si fuera una pequeña base de datos, de donde luego extraerlos según los ...
  #1 (permalink)  
Antiguo 06/03/2014, 16:30
 
Fecha de Ingreso: marzo-2014
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Pregunta Como guardar datos en un array multidimensional

Hola amigos. Estoy tratando de guardar datos en un array multidimensional, como si fuera una pequeña base de datos, de donde luego extraerlos según los necesite. Estoy probando de visualizar los datos, pero me aparecen dos veces: la primera con undefined y la segunda con los datos que tendria q haber mostrado en la primera; ademas cuenta hasta dos cuando el array tiene solo un elemento??
Les dejo el codigo:
var gmUsuarios=[""];
//var j=0;
function ingresarDatos()
{
var x1=document.forms["myForm"]["id"].value;
var x2=document.forms["myForm"]["iditem"].value;
var x3=document.forms["myForm"]["nombre"].value;
var x4=document.forms["myForm"]["edad"].value;
var x5=document.forms["myForm"]["sexo"].value;
var x6=document.forms["myForm"]["fechasuscr"].value;
var x7=document.forms["myForm"]["face"].value;
var x8=document.forms["myForm"]["foto"].value;
var x9=document.forms["myForm"]["imagen"].value;
var x10=document.forms["myForm"]["icono"].value;
var x11=document.forms["myForm"]["titulo"].value;
var x12=document.forms["myForm"]["intro"].value;
var x13=document.forms["myForm"]["pres"].value;
var x14=document.forms["myForm"]["desc"].value;
var x15=document.forms["myForm"]["frase"].value;
var x16=document.forms["myForm"]["dir"].value;
var x17=document.forms["myForm"]["telef"].value;
var x18=document.forms["myForm"]["cel"].value;
var x19=document.forms["myForm"]["web"].value;
var x20=document.forms["myForm"]["mail"].value;
var x21=document.forms["myForm"]["blog"].value;
var x22=document.forms["myForm"]["skype"].value;
var x23=document.forms["myForm"]["twit"].value;
var x24=document.forms["myForm"]["evento"].value;
var x25=document.forms["myForm"]["vidriera"].value;

if (x1==null || x1=="")
{
alert("First name must be filled out");
}
else
{
var gmUsuario=[""];
gmUsuario=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15 ,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25];
var datosRequeridos=["ID: ","ID ITEM: ","NOMBRE: ","EDAD: ","SEXO: ","FECHA DE SUSCRIPCIÓN EN GM: ",
"FACEBOOK: ","FOTO: ","IMAGEN: ","ÍCONO: ","TITULO: ","INTRO: ","PRES: ","DESC: ","FRASE: ",
"DIRECCION: ","TELEFONO: ","CELULAR: ","WEB: ","MAIL: ","BLOG: ","SKYPE: ","TWITTER: ","EVENTO: ",
"VIDRIERA: "];
gmUsuarios.push(gmUsuario);
for (var j=0;j<gmUsuarios.length;j++)
{
for (var i=0;i<gmUsuario.length;i++)
{
document.write(datosRequeridos[i] + gmUsuarios[j][i] + "<br>");
}
}
}
}

Gracias
  #2 (permalink)  
Antiguo 07/03/2014, 02:14
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 7 meses
Puntos: 29
Respuesta: Como guardar datos en un array multidimensional

Con [""] se crea un primer registro, el que se muestra como undefined. Utiliza:
var gmUsuarios = [];
  #3 (permalink)  
Antiguo 07/03/2014, 08:29
 
Fecha de Ingreso: marzo-2014
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Respuesta: Como guardar datos en un array multidimensional

Mejoró, no muestra undefined, pero cuando quiero agregar otro grupo de datos solo me muestra un resultado, el otro parece q se pierde.(?)
  #4 (permalink)  
Antiguo 07/03/2014, 10:17
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 7 meses
Puntos: 29
Respuesta: Como guardar datos en un array multidimensional

Prueba con esto:
Código Javascript:
Ver original
  1. window.onload = function() {
  2.         var test = document.getElementById("test");
  3.         var boton = document.getElementById("boton");
  4.        
  5.         boton.addEventListener('click', function() {
  6.           ingresarDatos();
  7.         });
  8.       };
  9.  
  10.       function ingresarDatos() {
  11.         var x1 = document.forms["form1"]["id"].value;
  12.         var x2 = document.forms["form1"]["iditem"].value;
  13.         var x3 = document.forms["form1"]["nombre"].value;
  14.        
  15.         var gmUsuarios = [];
  16.            
  17.         if (x1 === null || x1 === "") {
  18.           alert("First name must be filled out");
  19.         } else {
  20.           var gmUsuario = [];
  21.           gmUsuario = [x1, x2, x3];
  22.           var datosRequeridos = ["ID: ", "IDITEM: ", "NOMBRE: "];
  23.           gmUsuarios.push(gmUsuario);
  24.           for (var j = 0; j < gmUsuarios.length; j++) {
  25.             for (var i = 0; i < gmUsuario.length; i++) {
  26.               test.innerHTML += datosRequeridos[i] + gmUsuarios[j][i] + "<br />";
  27.             }
  28.           }
  29.         }
  30.       }
Código HTML:
Ver original
  1. <form id="form1" name="form1">
  2.       <input type="text" id="x1" name="id" value="" />
  3.       <input type="text" id="x2" name="iditem" value="" />
  4.       <input type="text" id="x3" name="nombre" value="" />
  5.     </form>
  6.     <input type="button" id="boton" value="Boton" />
  7.     <div id="test" class="test">test</div>
  #5 (permalink)  
Antiguo 07/03/2014, 15:23
 
Fecha de Ingreso: marzo-2014
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Respuesta: Como guardar datos en un array multidimensional

Gracias x la ayuda. Es novedosa la solución. Pero hace lo mismo: me muestra solo un resultado.
  #6 (permalink)  
Antiguo 08/03/2014, 02:17
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 7 meses
Puntos: 29
Respuesta: Como guardar datos en un array multidimensional

Coloca la declaración del array (var gmUsuarios = []) fuera de la función ingresarDatos(), y también fuera de window.onload = function() {}.

Etiquetas: multidimensional
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 00:44.