Foros del Web » Programando para Internet » Javascript »

Dudas con addEventListener

Estas en el tema de Dudas con addEventListener en el foro de Javascript en Foros del Web. Mis amigos, tengo un formulario en el genero de forma dinámica inputs de tipo "file". A estos inputs quisiera asociarlos con un addEventListener a medida ...
  #1 (permalink)  
Antiguo 27/08/2013, 10:58
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Pregunta Dudas con addEventListener

Mis amigos, tengo un formulario en el genero de forma dinámica inputs de tipo "file". A estos inputs quisiera asociarlos con un addEventListener a medida que son generados, sin embargo no logro hacerlo. Intente con esto:

Código:
document.querySelector('input[type="file"]').addEventListener('change', handleFileSelect, true);
Pero no funcionó. ¿Es posible hacer algo así?

Agradezco enormemente de antemano su ayuda.

Saludos
__________________
También me hago llamar Tropiburguer. Sígueme en twitter: @tropiburguer
  #2 (permalink)  
Antiguo 27/08/2013, 11:13
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
Puntos: 1485
Respuesta: Dudas con addEventListener

buenas...
verifica que querySelector realmente esté devolviendo un elemento. por lo demás, entiendo que el evento change debería funcionar en un INPUT TYPE FILE.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 27/08/2013, 11:53
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Dudas con addEventListener

Gracias zerokilled!

Pero disculpa mi desconocimiento, ¿Cómo puedo verificar esto?

Saludos y muchísimas gracias
__________________
También me hago llamar Tropiburguer. Sígueme en twitter: @tropiburguer
  #4 (permalink)  
Antiguo 27/08/2013, 11:59
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
Puntos: 1485
Respuesta: Dudas con addEventListener

en la consola del navegador ejecutas document.querySelector('input[type="file"]'). si el resultado es null, entonces querySelector no ha encontrado ningún elemento. por otro lado, ¿estás seguro que tu navegador tiene soporte para querySelector?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 27/08/2013, 13:22
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Dudas con addEventListener

Zerokilled, gracias por responder. Sí, mi navegador soporta querySelector, pruebo varios ejemplos de este tipo y todos andan muy bien.

Al ejecutar:
Código Javascript:
Ver original
  1. document.querySelector('input[type="file"]')
me devuelve siempre el primer input type="file" a pesar de que ya se han generado los otros inputs.

Mi formulario funciona así:

1. Tengo un primer input
Código HTML:
Ver original
  1. <input type='file' id='userfile' name='userfile[]' multiple/>

2. Luego de seleccionar un archivo usando el primer input, se genera otro input así
Código HTML:
Ver original
  1. <input type='file' id='userfile_F1' name='userfile[]' multiple/>

Y así hasta cinco. Lo que busco es agregar el addEventListener a todos estos inputs, pero con esto no funciona:

Código Javascript:
Ver original
  1. document.querySelector('input[type="file"]').addEventListener('change', handleFileSelect, true);

¿Acaso es posible lograr esto? Agradezco tu respuesta. Gracias!
__________________
También me hago llamar Tropiburguer. Sígueme en twitter: @tropiburguer
  #6 (permalink)  
Antiguo 27/08/2013, 21:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Dudas con addEventListener

Debes adjuntar el evento luego de creado el "input type file" en el DOM.

En tu función dónde creas ese input dinámico, puede adjuntar el evento.
__________________
_
  #7 (permalink)  
Antiguo 28/08/2013, 18:20
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Dudas con addEventListener

necesitas hacer una funcion

function crear()
{
//usar createelement o innerhtml para el input
//una vez incrustado le asocias el addeventlistener
}

acuerdate que el elemento debe ya existir para que le asocies un addeventlistener

salu2
  #8 (permalink)  
Antiguo 28/08/2013, 19:12
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Dudas con addEventListener

document.querySelector solo devuelve el primer objeto, para obtener todos usa document.querySelectorAll.


Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: addeventlistener, dudas, formulario, funcion, input, select
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 23:31.