Export als Persistence-Datei
Aktion des Typs Export als Persistence-Datei ermöglicht es, die Daten eines Vorgangs als persistierte Struktur bereitzustellen. Diese kann später erneut geladen werden, um das Formular wiederherzustellen. Mit dieser Aktion und Javascript-Code für das Laden der gespeicherten Werte kann damit das Speichern von Formulardaten umgesetzt werden.
Parameter
Ablage der erzeugten Dateien
- Name der Ausgabedatei
- Dateiname, unter dem der exportierte Vorgang gespeichert werden soll.
- An den Vorgang anhängen
- Legt fest, ob die erzeugte Ausgabedatei an den Vorgang angehangen werden soll.
Aktionsplatzhalter
Aktionen vom Typ Export als Persistence-Datei stellen Aktionsplatzhalter bereit, welche in darauf folgenden Aktionen verwendet werden können.
Standardplatzhalter
- [%$<Aktionsname>.SUCCESS%]
- Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
- [%$<Aktionsname>.RESULT%]
- Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
- [%$<Aktionsname>.ERROR_CODE%]
- Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
- [%$<Aktionsname>.ERROR_MESSAGE%]
- Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
Aktionsspezifische Platzhalter
- [%$<Aktionsname>.RESULT.fileSize%]
- Größe der erstellten Persistence-Datei, in Bytes.
- [%$<Aktionsname>.ERROR.message%]
- Fehlercode, der zurückgeliefert wird, wenn die Persistence-Datei nicht in das Dateisystem geschrieben werden konnte.
Formulardaten aus Exportdatei importieren
Wird ein Formular aufgerufen und befindet sich ein nicht-leeres Uploadfeld mit dem Namen fcp_persistence im Formular bzw. gibt es eine Datei mit dem Namen fcp-persistence in einem anderen Uploadfeld, so werden beim Ausliefern des Formulars die Werte aus der Persistence-Datei in Formular geschrieben und so Felder vorbefüllt.
Der folgende Beispielcode ermöglicht es, diesen Vorgang mit einem Button zu realisieren. Dabei wird das Ziel des Formulars beim Absenden auf seine eigene URL gesetzt und alle Eingabefelder außer der Uploadfeld deaktiviert. Anschließend wird ein Submit der Form ausgeführt, durch welchen die Inhalte der Datei geladen werden.
$('.xm-form').attr('action', window.location);
$('.xm-form input').not('[name=fcp_persistence]').attr('disabled', "disabled");
$('.xm-form textarea').attr('disabled', "disabled");
$('.xm-form select').attr('disabled', "disabled");
xm_validator.disable();
$('.xm-form').trigger("submit");
});
$('[xn="fcp_persistence"] .img-uploaded-preview').visible(false);
Alternativ kann folgender Code verwendet werden:
var nameOfTriggerButton= "btnLoad";
var form = $("<form>", {
action:"?",
method:"post",
enctype:"multipart/form-data"
}).appendTo('body');
var upload = $("<input>", {
type:"file",
name:"fcp_persistence"
}).appendTo(form);
upload.change(function(){form.submit()});
$('BUTTON[name="'+nameOfTriggerButton+'"]').click(function(){upload.trigger('click')});
})