Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Array + For in

Estas en el tema de Array + For in en el foro de Javascript en Foros del Web. Hola! Tengo un array con 3 índices. Cada uno es igual al valor de una variable diferente. Cita: array[0] = input0.value; array[1] = input1.value; array[2] ...
  #1 (permalink)  
Antiguo 02/06/2014, 21:49
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Pregunta Array + For in

Hola!

Tengo un array con 3 índices. Cada uno es igual al valor de una variable diferente.
Cita:
array[0] = input0.value;
array[1] = input1.value;
array[2] = input2.value;
También tengo 3 variables que hacen referencia al atributo src de etiquetas <img>. Los índices del array se corresponden con estas variables, es decir, el índice 0 se relaciona con var0, etc:
Cita:
var0 = img0.src;
var1 = img1.src;
var2 = img2.src;
La idea es esta: Si el valor de los índices del array es igual a una cadena vacía, entonces quiero que el valor de la variable asociada sea la ruta de la imagen llamada vacia.png.

Código Javascript:
Ver original
  1. array[0] = input0.value;
  2. array[1] = input1.value;
  3. array[2] = input2.value;
  4.  
  5.  
  6. var indice = "";
  7.  
  8. for (indice in array)
  9. {
  10.     if ( array[indice] == "" )
  11.     {
  12.         var[indice] = "../vacia.png";  //  Comentario
  13.     }
  14. }


Sé que la línea que tiene un comentario está mal, así no se hace, pero es una idea gráfica de lo que quisiera obtener.

Saludos!

Última edición por berkeleyPunk; 02/06/2014 a las 22:04
  #2 (permalink)  
Antiguo 02/06/2014, 22:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Array + For in

¿Pretendes asignar ../vacia.png a una posición del array o a las variables? Por favor, sé más explícito para poder ayudarte.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 03/06/2014, 04:52
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Array + For in

Cita:
Iniciado por Alexis88 Ver Mensaje
¿Pretendes asignar ../vacia.png a una posición del array o a las variables?...
A las variables . De tal modo que si el input0.value está vacío, entonces el atributo src al que hace referencia var0 sería igual a "../vacia.png".


O cualquier otra sugerencia, maestro, ya que lo que al final de cuentas busco, es que si el usuario no ha llenado un input, entonces se muestre al lado una banderita roja indicando que ha dejado vacío el input, o verde en caso contrario .


Saludos!

Última edición por berkeleyPunk; 03/06/2014 a las 05:02
  #4 (permalink)  
Antiguo 03/06/2014, 05:41
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 3 meses
Puntos: 29
Respuesta: Array + For in

A ver si puedes sacar la idea de aquí:
Código Javascript:
Ver original
  1. window.onload = function() {
  2.    
  3.         var test = document.getElementById("test");
  4.         var boton = document.getElementById("boton");
  5.         var input = document.getElementsByTagName("input");
  6.         var array = new Array();
  7.  
  8.         boton.addEventListener('click', function(e) {
  9.           e.preventDefault();
  10.           array[0] = input[0].value;
  11.           array[1] = input[1].value;
  12.           array[2] = input[2].value;
  13.           //var var0 = img0.src;
  14.           //var var1 = img1.src;
  15.           //var var2 = img2.src;
  16.           var indice = "";
  17.  
  18.           for (var i = 0; i < array.length; i++) {
  19.             if (array[i] === "") {
  20.               indice += "Campo " + i + "= " + "../vacia.png" + "<br />";
  21.             }
  22.           }
  23.           test.innerHTML = indice;
  24.         });
Código HTML:
Ver original
  1. <input type="text" value="" />
  2.     <input type="text" value="1" />
  3.     <input type="text" value="" />
  4.     <input type="button" id="boton" value="más" />
  #5 (permalink)  
Antiguo 03/06/2014, 09:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Array + For in

En lugar de usar un array para asignarle los valores de las cajas de texto, mejor itera sobre el conjunto de estos elementos y en cada iteración, analiza su contenido; si tiene, la bandera cambia de color a verde, caso contrario, a rojo.



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 04/06/2014 a las 20:03 Razón: Línea de más
  #6 (permalink)  
Antiguo 04/06/2014, 19:58
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
De acuerdo Respuesta: Array + For in

Cita:
Iniciado por bathorz Ver Mensaje
A ver si puedes sacar la idea de aquí...
Buena noche! Perdón por responder tan tarde..., pero el trabajo, ya saben.

bathorz, una vez que posteaste tu recomendación, la copié para estudiarla, y de ahí saqué la estructura, muy bien, funcionó a la perfección. El resultado está aquí.

Ahhh, y muy bien por ese otro código, alexis88. Por cierto, vaya que te merecías el grado de colaborador. No eres mezquino con tus conocimientos y siempre das soluciones puntuales. Sin duda que, y esto no es de a gratis, Foros del Web gana un buen elemento contigo aquí .


Saludos!

Etiquetas: Ninguno
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 18:26.