ho legato l'apparizione della barra al caricamento inserendo nella riga iniziale del form
ho quindi creato una funzione che aggiunge dentro un contenitore invisibile lo stile per farla apparirecodice:onsubmit="showProgress()"
infine ho inserito nell'eco del caricamento effettuato una controregola che non faccia apparire la barra al submit del tasto per cancellare i file caricaticodice:function showProgress() {//fa apparire la barra causa maggiore specificità document.getElementById("stile").innerHTML += '<style>#UploadProgressbar {display:block ;}</style>'; }
Codice PHP:<?php for($i = 0, $j = 0; $i < $options['max']; $i++) {
if(isset($mysessionfiles[$i])) { ?>
<input type='hidden' name='deletefile[]' value="<?php echo $i; ?>" />
<?php printf(__("[i]%s[/i] (%s) Uploaded","tdomf"),$mysessionfiles[$i]['name'],tdomf_filesize_format($mysessionfiles[$i]['size']));
/*!!!EVITA LA RICOMPARSA DELLA BARRA CANCELLANDO I FILE!!!*/ echo '<style>#UploadProgressbar {display:none !important;}</style>'; ?>
resta un unica cosa da risolvere...fare in modo che la barra mostri il reale stato dell'aggiornamento...attualmente è mossa da una funzione che la aggiorna di +1% ogni tot millisecondi finchè non raggiunge il 100 :
ma così com'è si comporta come una giffona...come gli si passa il valore reale senza le estensioni APC e simili? ho trovato questo tutorial che pare usi apache per lo stato ma non capisco come funziona...codice:$(document).ready(function() { // $("#UploadProgressbar").progressbar({ value: 66 }); //IMPOSTA LA BARRA A UN VALORE PREDEFINITO $(function() { ufNow=5; //variabile valore!! $("#UploadProgressbar").progressbar({ value: ufNow }); setTimeout(updateProgress, 500); }); function updateProgress() { var progress; progress = $("#UploadProgressbar") .progressbar("option","value"); if (progress < 100) { $("#UploadProgressbar") .progressbar("option", "value", progress + 1); setTimeout(updateProgress, 500); } } });![]()

Rispondi quotando