felix_reinhold
Returning Responder

Nicht gespeicherten Wert per FS_BUTTON auslesen

Jump to solution

Hallo zusammen,

in einem FS-Projekt belege ich momentan Textfelder per Skript (via FS_BUTTON) vor.

Es handelt sich dabei um normale Textfelder auf der gleichen Seite, die den Metadatenreiter ersetzen

(damit die Daten als GenericAttributes von der Portalkomponente erkannt werden):

Bsp:

        <FS_BUTTON name="pt_set_meta" hFill="no" icon="info" noBreak="no" onClick="script:sc_preset_meta_data">

          <LANGINFOS>

            <LANGINFO lang="*" label="Preset Metadata"/>

            <LANGINFO lang="DE" label="Metadaten vorbelegen"/>

          </LANGINFOS>

          <PARAMS>

            <PARAM name="prm_resubmit">#field.pt_resubmission</PARAM>

          </PARAMS>

        </FS_BUTTON>

Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.

Gibt es irgendwie die Möglichkeit auf den momentan eingetragenen Wert zuzugreifen, ohne die Seite zu speichern?

Ein Speichern per Skript vor der Vorbelegung ist nicht möglich, da die Metadatenfelder teilweise allowEmpty="no" sind.

Meine momentane Lösung wäre ein Workaround im Skript:

Alle Felder mit einem Dummywert vorbelegen, Seite speichern, Dummywerte wieder löschen, Felder vorbelegen.

Allerdings würde ich eben gerne auf das Speichern verzichten.

Gruß

Felix

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.

Das sollte bei Benutzung der "#field" Notation genau nicht so sein.

[EDIT]

Ich habe es gerade mit dem unten stehenden "Scriptcode" ausprobiert, und es hat funktioniert:

print("field value = " + sc_preset_meta_data.get());

Peter

View solution in original post

0 Kudos
2 Replies
Peter_Jodeleit
Crownpeak employee

Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.

Das sollte bei Benutzung der "#field" Notation genau nicht so sein.

[EDIT]

Ich habe es gerade mit dem unten stehenden "Scriptcode" ausprobiert, und es hat funktioniert:

print("field value = " + sc_preset_meta_data.get());

Peter
0 Kudos

Hallo Peter,

hat sich erledigt. Funktioniert natürlich 🙂

War noch eine Altlast im Skript, wo das FormField über die Formdata ausgelesen wurde.

Hat das übergebene Formfield überschrieben!

Danke für die schnelle Antwort!

0 Kudos