ciao a tutti! dopo un anno e più di assenza torno sul forum con un problema: sto creando uno script basato su ajax che permetta l'upload multiplo di file senza ricaricare la pagina.
la pagina carica.html avrebbe al suo interno qualcosa di simile:
la parte javascript interessante, invece, sarebbe qualcosa del genere:Codice HTML:<div id="bigDiv"> <div id="div_0"> <form name="form_0" blablabla> <input type="file" name="uploadFile" blabla /> </form> </div> <div id="div_1"> <form name="form_1" blablabla> <input type="file" name="uploadFile" blabla /> </form> </div> <!-- e poi di seguito finché mi va.. --> </div>
(la parte problematica è in grassetto sottolineato)Codice:function ajaxCompletedUpload ( ) { // Una volta recuperato l'output, agisce di conseguenza. if (XmlHttpObject.readyState == 4) { var r = (XmlHttpObject.responseText).split("|"); // Recupera l'output. var id = r[0]; // Id del file corrente. var ok = r[1]; // Risultato dell'operazione. var fn = r[2]; // Nome del file corrente. if (ok == "true") updateDiv(id, "okUpload", "Il file <b>" + fn + "</b> è stato caricato correttamente."); // Upload corretto. else updateDiv(id, "errUpload", "Errore durante il caricamento del file <b>" + fn + "</b>. Riprovare in un secondo momento."); // Problemi. } } function ajaxStartUpload ( id ) { // questa è la parte incriminata, nel senso che non so come fare.. xmlHttp = ajaxXmlHttpObject(); if (xmlHttp == null) { window.alert("Error: your browser does not support our AJAX libraries.\nPlease update your browser."); xmlHttp = false; } xmlHttp.onreadystatechange = ajaxCompletedUpload(); xmlHttp.open("POST", "upload.php?act=ajax", true); xmlHttp.send(null); }
ora: la funzione updateDiv(..) scrive un messaggio dentro al div corrispondente al file appena caricato, e lo assegna ad una diversa classe del css, mentre la funzione ajaxXmlHttpObject() è quella che assegna as xmlHttp un oggetto new XMLHttpRequest() a seconda del browser dell'utente..
il problema vero e proprio nasce con la funzione ajaxStartUpload: in pratica non so come far inviare il file e le variabili con un metodo post. se si trattasse di non inviare nessun file, opterei per qualcosa del tipo:
spero di essermi riuscito ad esprimere in un linguaggio intelleggibile..Codice:xmlHttp.open("GET", "nonso.php?varabile=" + variabile, true);![]()

LinkBack URL
About LinkBacks




