Upload ohne refresh

MadCrusher

Erfahrenes Mitglied
Hallo!

Ich brauche Hilfe mit einer Upload-Form:
Es geht darum, das ich eine Div-Box habe, in der ein Feld zum Uploaden ist.
Nun soll der User die möglichkeit haben, eine Datei zu uploaden die dann geprüft wird, jedoch soll sich nicht die ganze Seite refreshen, sondern die datei im Hintergrund hochgeladen und in einer Div-Box unter der mit dem Form angezeight werden (also ohne refesh aber mit prüfung).

Ich kann mir vorstellen das das im zusammenhang mit ajax geht, weiß aber nicht wie!

Danke für eure Hilfe
Crusher
 
Hallo!

erstmal Danke für deine schnelle Antwort.
Nur leider Hilft mir das nicht weiter...
Tutorials über Ajax hab ich auch gefunden, nur im zusammenhang mit dem Fileupload stellt das für mich ein Problem dar.
(Also wie krieg ich die datei übergeben und im hintergrund hochgeladen und wie erhält man die liste aller bereits vorhanden uplaods)

Crusher
 
AJAX ist nichts anderes als die Kombination von verschiedenen Webtechniken. Wenn du weisst wie man AJAX theoretisch benutzt und PHP kannst, dann kannst du es eigentlich anwenden.

Sprich: Du schreibst dir ein PHP Script, dass den Dateiupload vornimmt, rufst dieses jetzt aber asynchron über ein JavaScript auf. Das PHP-Script wird dann so abgearbeitet wie wenn du den Browser refreshen würdest, nur musst du die Änderung des Contents jetzt selber mit JavaScript verarbeiten, was bei gewohnter Technik der Browser für dich übernehmen würde.
 
Also ein Upload von sich heraus ohne Seitenreload ist nur mit HTML unmöglich.

Aber du hast folgende möglichkeiten:

  • Am Einfachsten: Ein Popupfenster öffnen dort die Datei selecttieren lassen. Bei OK im Hauptfenster anzeigen
  • Ein Upload mit einer anderen Sprache. Also Flash, Java u.Ä.
  • Einen I-Frame der eben Reloaded, aber das Frame ausenrum bleibt bestehen
 
Hi!

Wie krieg ich denn hierrein die File als übergabeparameter:
req.open("GET", 'http://localhost/uplaod.php', true);

ich muss ja den Wert aus dem Uplaodfeld holen und mitschicken?!

Crusher
 
Also ein Upload von sich heraus ohne Seitenreload ist nur mit HTML unmöglich.

Aber du hast folgende möglichkeiten:
  • Am Einfachsten: Ein Popupfenster öffnen dort die Datei selecttieren lassen. Bei OK im Hauptfenster anzeigen
  • Ein Upload mit einer anderen Sprache. Also Flash, Java u.Ä.
  • Einen I-Frame der eben Reloaded, aber das Frame ausenrum bleibt bestehen

Wie Funktioniert das denn mit dem Popup?

Crusher
 
Ganz normal per Javascript: "window.open()" in dem Fenster kannst du dann per
opener.getElemtById('oldpic').src = 'hochgeladenesbild.jpg';


Das Bild in dem Fenster setzen von dem aus es geöffnet wurde. Oder eben erweitere Funktionen ausrufen. Anschließend kannst du das kleine Fenster mir window.close() wieder zu machen.

Die beiden Javascripte echost du für den Fall hin das der Upload geklappt hat. Ansonsten muss die PHP Datei nur noch den Upload machen und nen Formular integriert haben ,)
 
opener.getElemtById('oldpic').src = 'hochgeladenesbild.jpg';
Das Bild in dem Fenster setzen von dem aus es geöffnet wurde.

Hmm das ganze soll für ein PDF-Upload sein.
Wenn ich das also umsetze mach ich ein open befehl auf die upload + form datei.
In der Datei läuft alles ab mit dem upload etc...

Wenn ich nun den Dateinamen in das div-feld anhängen will aus dem Form woher der open aufruf herkommt, geht das so:
opener.getElemtById('div_id').value = opener.getElemtById('div_id').value + "<br/>" + Type + ": " + File_Name;
?

Gruß
Crusher
 
Zurück