mijn pdf-bestand is niet in eerste instantie geselecteerd, worden alleen in Internet Explorer

stemmen
13

Ik heb een input-bestand naar PDF-bestanden te selecteren. Nadat ik de PDF's te selecteren, staan ​​open tekstvakken om een ​​titel aan elke pdf te geven.

Alles goed werkt in Google Chrome.

In internet explorer Ik heb een probleem dat ik ben niet in staat om erachter te komen waarom en hoe op te lossen.

Mijn probleem:

In Internet Explorer wanneer ik een pdf voor het eerst te selecteren, er niets gebeurt, wordt de pdf niet geselecteerd.

Ik moet andere pdf selecteren, maar kan niet de eerste pdf gekozen, en toen ik andere pdf selecteert het werkt.

En dan begint altijd goed te werken, maar eerste keer dat ik selecteer een pdf heb ik altijd deze bug.

U kunt mijn volledige voorbeeld te zien met mijn probleem hier : http://jsfiddle.net/j5yeq/3/ (maar om mijn probleem te zien wat je nodig hebt om te testen in Internet Explorer)

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

Mijn 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('');
        });
    });
});
De vraag is gesteld op 09/08/2014 om 21:28
user
In andere talen...                            


1 antwoorden

stemmen
1

Je jQuery code heeft een aantal fouten. Ik kan niet de oplossing voor IE op dit moment, maar ook in Chrome en Firefox deze code upload pdf tweemaal vinden vanaf tweede keer. Ik heb de jQuery goed te laten werken aangepast.

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

Gebruik deze jQuery code en doen event handlers in andere event handlers niet binden. U kunt omhoog beëindigen bindend dezelfde gebeurtenis meerdere keren.

LET OP: Ik kan de vraag niet bewerken dus antwoordde ik dit als een oplossing.

antwoordde op 11/08/2014 om 11:35
bron van user

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