2010-02-19 19 views
20

¿Hay algún evento de JavaScript en type=file? ES DECIR. Me gustaría añadir un extra file input al archivo de la selección en una de allready creado:HTML File input JS events

Diagrama:]:

file input 1 
file input 2 
file input 3 

usuario selecciona algún archivo en input 1 y JS añade nueva entrada de archivo

file input 1 - somefile.txt 
file input 2 
file input 3 
*NEW* file input 4 

Estoy buscando un evento significativo, en el que puedo enlazar el método addFileInput.

También utilizo jQuery 1.4:]

Gracias

+0

No hay tal cosa como un 'entrada [type = html]';) –

+0

Creo 'onchange' debería funcionar. –

+0

Gracias Ionut ... pensar más rápido que escribir, lo soy. :] –

Respuesta

35

Creo onchange debería funcionar.

+0

Esto no funciona para mí en Chrome 19, pero 'change' sí. –

+4

@TylerCollier El evento de vanilla es 'element.onChange = function() {};' y el equivalente de jQuery es '$ (element) .delegate ('change', function() {});'. – rxgx

+1

http://api.jquery.com/change/ – xilef

2

Creo que te refieres type=file?

La única manera significativa es utilizar tanto onclick como onchanged y realizar un seguimiento de los contenidos para ver si se cambia.

24

Aquí es el evento registrado por Firebug al seleccionar un archivo con Firebug:

  • clic clientX = 885, clientY = 207
  • desenfoque
  • enfoque
  • cambio
  • DOMActivate
  • DOMActivate
  • mouseout clientX = 162, clientY = 27

supongo cambio, es aquel que busca:

$ ('#your_form_id input[type=file]').live ('change', function() { 
    $(this).parent().append ($('<input type="file" />')); 
}) 

sólo hay que adaptar el selector y el código anterior debe trabajar

+0

gracias, ya lo hice con la ayuda de ionut:] –

Cuestiones relacionadas