min pdf-fil ikke er valgt først, bare i internet explorer

stemmer
13

Jeg har en inngang fil for å velge PDF-filer. Etter at jeg velger PDF-filer, er åpne tekstbokser til å gi en tittel til hver pdf.

Alt fungerer som det skal i Google Chrome.

I Internet Explorer jeg har et problem at jeg ikke er i stand til å finne ut hvorfor og hvordan å løse.

Mitt problem:

I Internet Explorer når jeg velger en pdf for første gang, ingenting skjer, er det pdf ikke valgt.

Jeg må velge andre pdf, men kan være det første pdf valgt, og når jeg velger andre pdf det fungerer.

Og så begynner å arbeide alltid fint, men første gang jeg velger en pdf jeg har alltid denne feilen.

Du kan se mitt fulle eksempel med min sak her : http://jsfiddle.net/j5yeq/3/ (men for å se min sak du trenger å teste i internet explorer)

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

Min 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('');
        });
    });
});
Publisert på 09/08/2014 klokken 20:28
bruker
På andre språk...                            


1 svar

stemmer
1

Du jQuery kode har noen feil. Jeg kan ikke finne løsningen for IE i dag, men selv i Chrome og Firefox denne kode lastet opp pdf to ganger fra andre gang. Jeg har endret jquery å fungere ordentlig.

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

Bruk denne jQuery-kode, og ikke binde hendelseshåndterere inne andre hendelseshåndterere. Du kan ende opp bindende samme hendelses flere ganger.

MERK: Jeg kan ikke endre på spørsmålet så svarte jeg på dette som en løsning.

Svarte 11/08/2014 kl. 10:35
kilden bruker

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