fișierul meu pdf nu este selectat la început, doar în Internet Explorer

voturi
13

Am un fișier de intrare pentru a selecta PDF-uri. După ce am selectați PDF-uri, casete text sunt deschise pentru a da un titlu pentru fiecare pdf.

Totul funcționează corect în Google Chrome.

În Internet Explorer Am o problemă pe care eu nu sunt în măsură să dau seama de ce și cum să rezolve.

Problema mea:

În Internet Explorer când selectez un pdf pentru prima dată, nu se întâmplă nimic, PDF-ul nu este selectat.

Am nevoie pentru a selecta alte pdf, dar cant fi primul pdf selectat, și când am selectați alt pdf funcționează.

Și apoi începe să lucreze întotdeauna bine, dar prima dată când am selectați un pdf am întotdeauna acest bug.

Puteți vedea exemplul meu plin cu problema mea aici : http://jsfiddle.net/j5yeq/3/ (dar pentru a vedea problema mea aveți nevoie pentru a testa în Internet Explorer)

Html meu:

<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>

jQuery meu:

$('.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('');
        });
    });
});
Întrebat 09/08/2014 la 21:28
de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
1

cod jQuery Ai are unele erori. Nu pot găsi soluția pentru IE, în prezent, dar chiar și în crom și firefox acest încărcările cod PDF de două ori din a doua oară. Am modificat jQuery să funcționeze corect.

$('.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>');
        }
    });
}

Utilizați acest cod jQuery și nu se leagă manipulare eveniment în interiorul altor manipulare eveniment. Ați putea încheia cu caracter obligatoriu același eveniment de mai multe ori.

NOTĂ: Nu pot modifica întrebarea , așa că am răspuns la acest lucru ca o soluție.

Publicat 11/08/2014 la 11:35
sursa de către utilizator

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