mi archivo PDF no se selecciona en un primer momento, sólo en Internet Explorer

votos
13

Tengo un archivo de entrada para seleccionar los archivos PDF. Después selecciono los archivos PDF, son cuadros de texto abiertos para dar un título a cada pdf.

Todo funciona correctamente en Google Chrome.

En Internet Explorer Estoy teniendo un problema que no soy capaz de averiguar por qué y cómo resolver.

Mi problema:

En Internet Explorer cuando selecciono un pdf, por primera vez, no pasa nada, el pdf no está seleccionado.

Necesito seleccionar otra pdf, pero no puedo ser el primero en PDF seleccionado, y cuando selecciono otro pdf funciona.

Y luego comienza a funcionar siempre bien, pero la primera vez que seleccione un PDF siempre tengo este error.

Se puede ver mi ejemplo completo con mi problema aquí : http://jsfiddle.net/j5yeq/3/ (pero ver a mi problema que necesita probar en Internet Explorer)

Mi HTML:

<div class=galerry>               
    <div class=label style=margin:0;>
        <span class=field>PDFS:</span>
        <input type=file name=pdfs[] class=j_galleryp multiple=multiple accept=application/pdf  />
        <div class=j_gfalsep>Selecione quantos pdfs quiser</div>
        <img src=img/upload.png class=j_gsendp alt=Enviar Capa title=Enviar Capa style=margin:0 0 10px 10px; />   
        <div class=label id=teste></div> 
    </div>
</div>

Mi jQuery:

$('.j_gsendp').click(function(){
    $('.j_galleryp').click().change(function(){
         var allFiles = this.files;  
         var numFiles = this.files.length;

        $('.j_gfalsep').animate({width:'500'}, 500, function(){
            $(this).html('You selected<strong>'+ numFiles +'</strong> files.'); 

            for(var i = 0; i<numFiles; i++) {
                var file = allFiles[i],
                    name = file.name;
                $('#test').append('<div class=message>Give a title to pdf <strong>'+name+':</strong></div><span>Title for pdf '+name+':</span><input type=text name=title[] value=/><br><br>');
             } 
            });
              this.val('');
        });
    });
});
Publicado el 09/08/2014 a las 21:28
por usuario
En otros idiomas...                            


1 respuestas

votos
1

Usted código de jQuery tiene algunos errores. No puedo encontrar la solución para IE en la actualidad, pero incluso en Chrome y Firefox este pdf archivos de código dos veces por segunda vez. He modificado el jQuery para que funcione correctamente.

$('.j_gsendp').click(function(){
    $('.j_galleryp').trigger('click');
});

$('.j_galleryp').change(function () {
    update();    
});

function update(){
    var input = $('.j_galleryp')[0];
    var allFiles = input.files;
    var numFiles = input.files.length;
    alert(numFiles);
    $('.j_gfalsep').animate({
        width: '400'
    }, 500, function () {
        $(this).html('You select <strong>' + numFiles + '</strong>files.');
        for (var i = 0; i < numFiles; i++) {
            var file = allFiles[i],
                name = file.name;
            $('#test').append('<span class="field">Title of pdf ' + name + ':</span><input type="text" name="title[]" value="' + name + '"/><br><br>');
        }
    });
}

Utilice el código jQuery y no se unen a los controladores de eventos dentro de otros controladores de eventos. Usted puede terminar vinculantes mismo evento varias veces.

NOTA: No puedo editar la pregunta respondida por lo que esto como una solución.

Respondida el 11/08/2014 a las 11:35
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more