Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    14

    come aggiungere una progress bar?

    Ciao ho un form per fare il multi upload di file, ora vorrei aggiungere una progress bar per far sapere all'utente quanto manca alla fine del trasferimento.
    Ho provato molti script presi da internet, ma nessuno si adatta al mio form, o perchè hanno tutto il form completo e non riesco ad estrapolare solo la progress bar o perchè sono fatti in flash.
    A me servirebbe in J-query o ajax, o se si riesce a fare anche con solo in css va benissimo.

    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form2" id="upload_form">
    <input type="file" name="myfile[]" multiple id="file"><br><br>
    <br><br>
    <input type="hidden" name="pagina" value="2">
    <input type="submit" value="Upload File">





    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Pagina form upload
    codice:
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Documento senza titolo</title>
    <style type="text/css">
    body{margin:0px; padding:0px;}
    .inputfile{
        height: 20px;
        margin-bottom: 5px;
        margin-right: 5px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
        width: 500px;
        display: inline-block;
        background-color: #FF6600;
    }
    progress {
        display: none;
    }
    </style>
    </head>
    
    <body>
    
    <form action="tuapaginaupload.php" method="post" enctype="multipart/form-data" name="form-upload">
    <input  class="inputfile" name="images[]" type="file">
      <input name="invia" type="button" onclick="uploadFile(this.form);" value="salva"> <progress min="0" max="100" value="0">0% complete</progress>
    </form>
    <script src="script.js"></script>
    </body>
    </html>
    pagina script.js
    codice:
    var uploadFile = function(form){
        var xhr = new XMLHttpRequest();
        var formData = new FormData(form);
        var progressBar = document.querySelector('progress');
     progressBar.style.display='block';
    
        xhr.upload.addEventListener("progress", function(e){
            if(e.lengthComputable) {
                $('input[name="invia"]').attr('disabled',true)
                progressBar.value = ( e.loaded / e.total ) * 100;
                progressBar.textContent = progressBar.value + '% complete';
            }
        }, false);
     
        xhr.open(form.method, form.action, true);
        xhr.onreadystatechange = function(){
            
            if(xhr.readyState == 4){
            progressBar.style.display='none';
    progressBar.value = '';
        }
    }
        xhr.send(formData);
     
            return false;
     
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    14
    Grazie mille ora provo ad implementarlo sul mio sito

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    14
    Ciao Andrea, grazie mille per il tuo aiuto.
    Ho implementato il tuo codice nella mia pagina, mi funziona sia l'upload dei file sul server, che l'inserimento dei record nel db.
    Ho solo 2 piccoli problemi, la barra in movimento compare sotto la barra di background e non dentro, poi dopo l'upload il pulsante "salva" rimane disabilitato.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Quote Originariamente inviata da xabax Visualizza il messaggio
    ...
    Ho solo 2 piccoli problemi, la barra in movimento compare sotto la barra di background e non dentro,
    Cos'è la barra di movimento e di background?
    poi dopo l'upload il pulsante "salva" rimane disabilitato.
    togli questa riga
    $('input[name="invia"]').attr('disabled',true) dal file script.js
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    14
    Ecco cosa intendo, ho fatto uno screenshot.
    Sopra c'è la barra di backround arancione e sotto c'è la barra in movimento.


    progress_bar.png

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    14
    ah no scusa sono andato a controllare i miei css, si sono sovrapposti con i tuoi.
    Ho tolto quella riga ora funziona correttamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.