|
|||
Auf Function warten
Hallo!
Ich weis das diesbezüglich schon einiges im Netzt gibt nur verstehe ich nicht wie man das zum laufen bringt. Ich habe nach diesen Beispiel ein Upload gebastelt das mir eine ZIP eine TXT und eine JPG hochläd. Das Funktioniert soweit auch nur möchte ich nach den Upload ein weiteres Formular per JavaScript senden, doch diese Funktion soll nun warten bis die drei Dateien hochgeladen wurden. Da ist mein Problem! Code:
var client = null; function uploadFile(bezFile,fortSchr,bezDatei,prozBez){ //Wieder unser File Objekt var file = document.getElementById(bezFile).files[0]; //FormData Objekt erzeugen var formData = new FormData(); //XMLHttpRequest Objekt erzeugen client = new XMLHttpRequest(); var prog = document.getElementById(fortSchr); if(!file) return; //Fügt dem formData Objekt unser File Objekt hinzu formData.append(bezDatei, file); client.onerror = function(e) { alert("onError"); }; client.onload = function(e) { document.getElementById(prozBez).innerHTML = "Fertig"; }; client.upload.onprogress = function(e) { var p = Math.round(100 / e.total * e.loaded); document.getElementById(fortSchr).style.width = p + "%"; document.getElementById(prozBez).innerHTML = document.getElementById(bezFile).value + " " + p + "%"; }; client.open("POST", "upload.php"); client.onreadystatechange = function() { if(this.readyState == this.DONE && this.status == 200){ var ausgabe = document.getElementById("testAusgabeA"); ausgabe.innerHTML = this.responseText; } }; client.send(formData); } function losJetzt(){ uploadFile("fileA","FortschrittZip","dateiA","ProzentZip"); uploadFile("fileB","FortschrittTxt","dateiB","ProzentTxt"); uploadFile("fileC","FortschrittJpg","dateiC","ProzentJpg"); window.setTimeout(weiterJetzt, 1000); } function weiterJetzt(){ document.forms['LevelForm'].submit(); } Code:
if(uploadFile.done){ weiterJetzt(); } Wie macht man das richtig? |
Sponsored Links |
|
|||
Ist das nicht genau der Teil den du brauchst? Also hier einfach die Funktion aufrufen?
|
Sponsored Links |
|
|||
Denke das ich es jetzt hinbekommen habe
Code:
var client = null; var wieoft = 0; var checkablauf = 0; function uploadFile(bezFile,fortSchr,bezDatei,prozBez){ //Wieder unser File Objekt var file = document.getElementById(bezFile).files[0]; //FormData Objekt erzeugen var formData = new FormData(); //XMLHttpRequest Objekt erzeugen client = new XMLHttpRequest(); var prog = document.getElementById(fortSchr); if(!file) return; //Fügt dem formData Objekt unser File Objekt hinzu formData.append(bezDatei, file); client.onerror = function(e) { alert("onError"); }; client.onload = function(e) { document.getElementById(prozBez).innerHTML = "Fertig"; }; client.upload.onprogress = function(e) { var p = Math.round(100 / e.total * e.loaded); document.getElementById(fortSchr).style.width = p + "%"; document.getElementById(prozBez).innerHTML = document.getElementById(bezFile).value + " " + p + "%"; }; client.open("POST", "upload.php"); client.onreadystatechange = function() { if(this.readyState == this.DONE && this.status == 200){ var ausgabe = document.getElementById("testAusgabeA"); ausgabe.innerHTML = this.responseText; wieoft++; if(wieoft == checkablauf){ weiterJetzt(); } } }; client.send(formData); client = null; } function losJetzt(){ if(document.getElementById('fileA').value != ''){ uploadFile("fileA","FortschrittZip","dateiA","ProzentZip"); checkablauf++; } if(document.getElementById('fileB').value != ''){ uploadFile("fileB","FortschrittTxt","dateiB","ProzentTxt"); checkablauf++; } if(document.getElementById('fileC').value != ''){ uploadFile("fileC","FortschrittJpg","dateiC","ProzentJpg"); checkablauf++; } } function weiterJetzt(){ document.forms['LevelForm'].submit(); } |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
JavaScript und mobile Weiterleitung | sven.le | Javascript & Ajax | 7 | 08.07.2013 15:59 |
Slider Nav | crixon | Javascript & Ajax | 0 | 30.01.2012 14:33 |
Grafiken je nach Zustand | Visu | CSS | 14 | 07.10.2009 20:28 |
Function in Function | Bosko | Serveradministration und serverseitige Scripte | 9 | 07.11.2008 19:24 |
Javascript für alle Browser darstellen lassen? | Pinking | Javascript & Ajax | 10 | 08.10.2008 09:32 |