Suche // Search:

22.11.2009

"Änderung speichern"-Dialog mit Dirty-Flag unterbinden
//
Suppress 'Save Changes' Dialog with Dirty Flag

Manche Dinge sind echt nervig.
Da hat man ein XFA-Formular auf einem zentralen Speicherort liegen, das nicht überschrieben werden soll oder ein eines, dass nur zum Nachschlagen, aber nicht zum Ausfüllen dient.
Durch die vielen interaktiven Möglichkeiten kommt es aber immer wieder zu dem Problem, dass beim Schließen des Formulars der Dialog "Änderungen speichern" auftaucht und das Formular in seiner ursprünglichen Form überschrieben wird.

Um dem Problem Herr zu werden, bedarf es einiger Programmiertricks.

Im Kern dreht sich aber alles um ein kleines Script, dass das sogenannte Dirty Flag kontrolliert.
Das Dirty Flag gibt an, ob etwas in dem Formular geändert wurde, sei es noch so unbedeutend gewesen.
Ist das der Fall, fragt Acrobat/Reader nach, ob die Änderungen gespeichert werden sollen.

There are some annoying things going on.
Imagine, you have a XFA-form located on a central hard drive, that shouldn't be overwritten or a form you only use for look something up but not for filling.
Through all the interactivity in the forms you can get the 'save changes" dialog when you close the form and it happens that the basic form then is overwritten.

To handle this, you need some tricky programmings.

The base is a small script, that controls the dirty flag.
This flag tells the application if something has been changed in the form.
If so, Acrobat/Reader asks you to save changes you made.

JavaScript:

var MyDoc = event.target;
MyDoc.dirty = false;

Das Beispielformular zeigt, wie Sie dieses Script durch Events im Formular ansteuern können.

The example form shows, how you can trigger the script through events in the form.

Beispiel // Example:
https://workspaces.acrobat.com/app.html#d=WIEJS1UOrtCxRiAj5OeLPg

Keine Kommentare:

Kommentar veröffentlichen