iframe soll nach absenden eines Formulars sofort aktualisiert werden
Andy Nail
- formulare
0 henman0 Andy Nail0 Matthias Apsel0 henman
0 Gunnar Bittersmann
Hallo zusammen,
in einem iframe wird eine Datei aufsetzend auf eine Datenbank angezeigt und in einem weiteren iframe steht ein Formular zur Verfügung das die Datenbank bearbeitet.
Denn dieses Formular erstellt einen neuenn Datensatz, der durch das Attribut mit dem Verweis auf eine Datei erstellt wird. Aber wenn ich jetzt in dem Formular durch das Attribut onsubmit auf eine Funktion verweise die ein reload/( in dem anderen iframe auslöst, ist von dem Datensatz noch nix zu sehen. Auch nicht in dem Fall in dem ich auch die zutreffende Datei in diesem iframe laden lasse. Denn erst wenn das Formular geschlossen ist und ich die Bestände von Hand wieder neu lade ist auch dieser Datensatz zu finden.
Also wie bekomme ich es denn bitte hin, dass nach dem schließen des Formulars die Datenbank aktualisiert wurde und dieser Datensatz dann auch gleich zu sehen ist?
Also dann schonmal vielen Dank an Euch für alle Bemühungen und für jede Hilfe und ich freue mich auf die Lösung meines Problems.
Also vielen Dank mit Gruß Andreas
Servus Andy,
[...] Attribut onsubmit auf eine Funktion verweise die ein reload/( in dem anderen iframe auslöst, ist von dem Datensatz noch nix zu sehen. [...]
Das ist zu früh. Das submit-Event wird geworfen, bevor das Formular abgeschickt wird. Dann ist der Datensatz ja noch nicht mal beim Server angekommen. Der Reload sollte erst kommen, wenn das Formular serverseitig fertig verarbeitet wurde.
Also wie bekomme ich es denn bitte hin, dass nach dem schließen des Formulars die Datenbank aktualisiert wurde und dieser Datensatz dann auch gleich zu sehen ist?
Du musst wissen, wann die Verarbeitung fertig ist. Einfaches Schließen des Frontends impliziert nicht, dass das Backend schon fertig ist.
ciao
OK Hallo
das war mir schon klar, bzw. konnte ich mir so auch nur vorstellen. Doch wie bitte könnte ich das hinbekommen? Denn bei ajax gibt es ja noch das success zum aufruf einer Funktion nachdem alles erledigt ist.
Also wie könnte ich soetwas auch mit einem Standard Formular, plus seinen Parametern und mit eventueller Hinzunahme eines trick 17 erreichen können?
OK dann schonmal Danke für alle Infos und jede Hilfe.
Danke Gruß Andreas
Hallo Andy Nail,
Doch wie bitte könnte ich das hinbekommen? Denn bei ajax gibt es ja noch das success zum aufruf einer Funktion nachdem alles erledigt ist.
Ohne Ajax. Du sendest das Formular an ein Script. Dieses Script erzeugt das Formular.
Nachteil: Es wird immer die komplette Seite übertragen.
Bis demnächst
Matthias
Servus Andy,
Also wie könnte ich soetwas auch mit einem Standard Formular, plus seinen Parametern und mit eventueller Hinzunahme eines trick 17 erreichen können?
Das Iframe mit dem Formular wird nach dem Abschicken neu geladen. Also könnte man auf das load-Event des Iframes warten und dann entsprechend reagieren.
ciao
@@Andy Nail
in einem iframe wird eine Datei aufsetzend auf eine Datenbank angezeigt und in einem weiteren iframe steht ein Formular zur Verfügung das die Datenbank bearbeitet.
[…]
Also wie bekomme ich es denn bitte hin, dass nach dem schließen des Formulars die Datenbank aktualisiert wurde und dieser Datensatz dann auch gleich zu sehen ist?
Ohne Datenbank, ohne Umweg über den Server. Die Daten sind doch bereits im Client, nachdem der Nutzer sie eingegeben hat.
Beim submit
-Event verhinderst du erstmal das Abschicken des Formulars (preventDefault
), dann kopierst du die Daten mit JavaScript von dem einen Iframe (Formular) in den anderen. Danach löst du Javascript das Abschicken des Formulars aus, sendest die Daten zum Server und trägst sie in die Datenbank ein.
Eine Frage aber noch: Warum verwendest du Iframes? Warum sind Formular und Datenaugabe nicht in einem HTML-Dokument?
LLAP 🖖