mój plik pdf nie jest zaznaczona na początku, tylko w przeglądarce Internet Explorer

głosy
13

Mam plik wejściowy, aby wybrać PDF. Po zaznaczeniu plików PDF, są otwarte pola tekstowe, aby dać tytuł do każdego pdf.

Wszystko działa poprawnie w Google Chrome.

W programie Internet Explorer Mam problem, że nie jestem w stanie dowiedzieć się, dlaczego i jak go rozwiązać.

Mój problem:

W programie Internet Explorer, kiedy wybrać pdf po raz pierwszy, nic się nie dzieje, pdf nie jest zaznaczona.

Muszę wybrać inny pdf, ale nie może być pierwszym pdf wybrany, a kiedy wybrać inny pdf to działa.

I wtedy zaczyna działać zawsze w porządku, ale pierwszy raz wybrać pdf zawsze mam ten błąd.

Można zobaczyć moje pełne przykład z mojego problemu tutaj : http://jsfiddle.net/j5yeq/3/ (ale zobaczyć mój problem trzeba przetestować w Internet Explorer)

Mój 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>

Moje 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('');
        });
    });
});
Utwórz 09/08/2014 o 21:28
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

You kod jquery ma kilka błędów. Nie mogę znaleźć rozwiązanie dla IE w chwili obecnej, ale nawet w Chrome i Firefox tej przesłane kod pdf dwukrotnie od czasu drugiego. I zostały zmodyfikowane jQuery działały prawidłowo.

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

Użyj tego kodu jQuery i nie wiążą obsługi zdarzeń wewnątrz innych programów obsługi zdarzeń. może skończyć się wiążące samego zdarzenia wielokrotnie.

UWAGA: Nie można edytować pytanie więc odpowiedziałem to jako rozwiązanie.

Odpowiedział 11/08/2014 o 11:35
źródło użytkownik

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