мой файл PDF не выбран в первой, только в интернет-проводник

голоса
13

У меня есть входной файл для выбора файлов PDF. После того, как я выбираю ПРВ, открытые текстовые поля, чтобы дать название каждому PDF.

Все правильно работает в Google Chrome.

В Internet Explorer У меня проблема, что я не в состоянии понять, почему и как решить.

Моя проблема:

В Internet Explorer, когда я выбираю PDF в первый раз, ничего не происходит, PDF не выбран.

Мне нужно, чтобы выбрать другой PDF, но не может быть первым PDF выбран, и при выборе других PDF работает.

А потом начинает работать всегда хорошо, но первый раз я выбираю PDF У меня всегда есть эта ошибка.

Вы можете увидеть мой полный пример с моим вопросом здесь : http://jsfiddle.net/j5yeq/3/ (но , чтобы увидеть мой вопрос вы должны проверить в Internet Explorer)

Мой 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>

Мой 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('');
        });
    });
});
Задан 09/08/2014 в 21:28
пользователем
На других языках...                            


1 ответов

голоса
1

You JQuery код имеет некоторые ошибки. Я не могу найти решение для IE в настоящее, но даже в хроме и FireFox этого кода дата загрузки PDF в два раза со второго раза. Я изменил JQuery, чтобы работать должным образом.

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

Используйте этот Jquery код и не связывать обработчик событий внутри других обработчиков событий. Вы можете в конечном итоге связывания же событий несколько раз.

Примечание: Я не могу изменить этот вопрос , так что я ответил на это в качестве решения.

Ответил 11/08/2014 в 11:35
источник пользователем

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