Rückgabe aus Fancybox iFrame an aufrufendes Fenster

Sprint

Erfahrenes Mitglied
Hallo zusammen,

bei meinem aktuellen Projekt stellt sich mir jetzt ein JS / Ajax Problem, das ich mit meinen einfachen Kenntnissen nicht gelöst bekomme.

In einem längeren Formular sind auch mehrere Datei Uploads enthalten. Diese werden aber nicht über normale HTML Elemente bedient, sondern es kommt ein schon mehrfach bewährter Ajax Uploader zum Einsatz. Wenn ich den aber als normales Element einsetze, rutscht der ganze Rest des Formulars mit jedem hochgeladenen Foto durch den Fortschrittsbalken weiter und weiter nach unten. Bei drei Upload Möglichkeiten für beliebig viele Fotos kann das schon ganz schön lang werden.

Ich hatte mir nun überlegt, den Upload auf eine separate Seite auszulagern, die per Fancybox-iFrame als Overlay eingeblendet wird. Das allein ist ja kein Problem. Da es in diesem Fall aber durchaus sein kann, daß der User zwischendrin gestört wird und seine Tätigkeit unterbrechen muß, wäre es gut, wenn er kontrollieren könnte, welche Fotos bereits hochgeladen wurden, bevor er das ganze Formular absendet und anschließend ergänzen oder doppelte Fotos löschen muß.

Und jetzt endlich zu meinem Problem. Das PHP Script, das den eigentlichen Upload durchführt, kann ja Links zu den Bildern erstellen und diese zurücksenden. Nur kommen die dann natürlich bei der Uploadseite an und nicht bei dem eigentlichen Formular. Wie kann ich diese Rückgabe entweder direkt an mein Formular senden, oder im Uploadscript zwischenspeichern und beim schließen des Overlays an das Formular weitersenden?

Viele Grüße,
Sprint
 
Speichern könntest Du die Werte im Local Storage. Und für das Schließen müsstest Du eine Callback-Funktion registrieren können (kenne jetzt Fancybox nicht im einzelnen), die die Werte ausliest und weiter verarbeitet.
 
Es war eigentlich viel einfacher und den Local Storage brauchte ich nicht. Und für die Weiterverarbeitung gibts eine einfache Callback Funktion beim Schließen. Aber oftmals steht man davor und braucht einen Anstoß von außen. Danke dafür.
 
Zurück