Sie können die Form Bridge APIs verwenden, um einen Übertragungskanal zwischen XFA-basierten HTML5-Formularen und Ihren Programmen zu öffnen. Die Form Bridge APIs bieten eine Verbindungs-API, um die Verbindung zu erstellen.
Die Verbindungs-API akzeptiert einen Handler als ein Argument. Nachdem eine Verbindung zwischen XFA-basierten HTML5-Formularen und Form Bridge erstellt wurde, wird der Handler aufgerufen.
Sie können den folgenden Beispielcode verwenden, um die Verbindung zu erstellen.
// Example showing how to connect to FormBridge
window.addEventListener("FormBridgeInitialized",
function(event) {
var fb = event.detail.formBridge;
fb.connect(function() {
//use form bridge functions
})
})
Stellen Sie sicher, dass Sie eine Verbindung erstellen, bevor Sie die formRuntime.jsp-Datei einbeziehen.
getBridgeVersion()
Gibt die Versionsnummer der Skriptbibliothek zurück.
isConnected() Prüft, ob der Formularstatus initialisiert wurde
Eingabe: keine
Ausgabe: True, wenn der XFA-Formularstatus initialisiert wurde
Fehler: keine
connect(handler, context) Stellt eine Verbindung zu FormBridge her und führt die Funktion aus, nachdem die Verbindung hergestellt und der Formularstatus initialisiert wurde
Eingabe:
Ausgabe: keine
Fehler: keine
getDataXML(options) Gibt die Daten des aktuellen Formulars im XML-Format zurück
Eingabe:
options: JavaScript-Objekt, das die folgenden Eigenschaften enthält:
Ausgabe: keine
Fehler: keine
registerConfig(configName, config) Registriert Benutzer-/Portal-spezifische Konfigurationen mit FormBridge. Diese Konfigurationen überschreiben die Standardkonfigurationen. Die unterstützten Konfigurationen sind im Abschnitt „config“ angegeben.
Eingabe:
configName: Name der zu überschreibenden Konfiguration
widgetConfig: Erlaubt dem Benutzer, die Standard-Widgets im Formular mit benutzerdefinierten Widgets zu überschreiben. Die Konfiguration wird überschrieben wie folgt:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: Erlaubt dem Benutzer, das Standardverhalten zu überschreiben, bei dem nur die erste Seite gerendert wird. Die Konfiguration wird überschrieben wie folgt:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig: Ermöglicht dem Benutzer, die Protokollierungsebene zu überschreiben, die Protokollierung für eine Kategorie zu deaktivieren oder festzulegen, ob die Protokolle angezeigt oder an den Server gesendet werden sollen. Die Konfiguration kann überschrieben werden wie folgt:
formBridge.registerConfig{
"LoggerConfig" : {
{
"on":`<true *| *false>`,
"category":`<array of categories>`,
"level":`<level of categories>`, "
type":`<"console"/"server"/"both">`
}
}
SubmitServiceProxyConfig: Zulassen, dass Benutzer Sende- und Protokoll-Proxy-Services anmelden können.
window.formBridge.registerConfig("submitServiceProxyConfig",
{
"submitServiceProxy" : "`<submitServiceProxy>`",
"logServiceProxy": "`<logServiceProxy>`",
"submitUrl" : "`<submitUrl>`"
});
config: Wert der Konfiguration
Ausgabe: Objekt, das den ursprünglichen Wert der Konfiguration in der data-Eigenschaft enthält.
Fehler: keine
hideFields(fieldArray): Blendet die Felder aus, deren SOM-Ausdrücke im fieldArray bereitgestellt werden. Setzt diepresence-Eigenschaft der angegebenen Felder auf invisible
Eingabe:
Ausgabe: keine
Fehler: keine
showFields(fieldArray): Zeigt die Felder, deren SOM-Ausdrücke im fieldArray bereitgestellt werden. Setzt diepresence-Eigenschaft der angegebenen Felder auf visible
Eingabe:
Ausgabe: keine
Fehler: keine
hideSubmitButtons(): Blendet alle Senden-Schaltflächen im Formular aus
getFormState(): Gibt die JSON-Datei zurück, die den Formularstatus darstellt
Eingabe: keine
Ausgabe: Objekt mit JSON-Datei, die den aktuellen Formularstatus in der data-Eigenschaft enthält.
Fehler: keine
restoreFormState(options): Stellt den Formularstatus aus dem bereitgestellten JSON-Status im Optionenobjekt wieder her. Der Status wird angewendet und Erfolgs- oder Fehlerhandler werden aufgerufen, nachdem der Vorgang ist abgeschlossen ist.
Eingabe:
Optionen: JavaScript-Objekt, das folgende Eigenschaften enthält:
Ausgabe: keine
Fehler: keine
setFocus (som): Legt den Fokus auf das Feld, das vom gegebenen SOM-Ausdruck angegeben wird
setFieldValue (som, value): Legt den Wert der Felder für die gegebenen SOM-Ausdrücke fest
Eingabe:
Ausgabe: keine
Fehler: Löst im Fall eines falschen SOM-Ausdrucks einen Ausnahmefehler aus.
getFieldValue (som): Gibt den Wert der Felder für die gegebenen SOM-Ausdrücke zurück
Eingabe: Array, das die SOM-Ausdrücke der Felder enthält, deren Wert abgerufen werden soll.
Ausgabe: Objekt, das das Ergebnis als Array in der data-Eigenschaft enthält.
Fehler: keine
var a = formBridge.getFieldValue("xfa.form.form1.Subform1.TextField");
if(a.errors) {
var err;
while((err = a.getNextMessage()) != null)
alert(a.message)
} else {
alert(a.data[0])
}
getFieldProperties(som, property): Abrufen der Liste von Werten für die angegebene Eigenschaft der Felder, die in SOM-Ausdrücken festgelegt werden
Eingabe:
Ausgabe: Objekt, das das Ergebnis als Array in der data-Eigenschaft enthält
Fehler: keine
setFieldProperties(som, property, values): Legt den Wert der angegebenen Eigenschaft für alle Felder fest, die in den SOM-Ausdrücken bestimmt werden
Eingabe:
Ausgabe: keine
Fehler: keine
// Example 1: FormBridge.restoreFormState
function loadFormState() {
var suc = function(obj) {
//success
}
var err = function(obj) {
while(var t = obj.getNextMessage()) {
$("#errorDiv").append("<div>"+t.message+"</div>");
}
}
var _formState = // load form state from storage
formBridge.restoreFormState({success:suc,error:err,formState:_formState}); // not passing a context means that this will be formBridge itself. Validation errors will be checked.
}
//--------------------------------------------------------------------------------------------------
//Example 2: FormBridge.submitForm
function SubmitForm() {
var suc = function(obj) {
var data = obj.data;
// submit the data to a url;
}
var err = function(obj) {
while(var t = obj.getNextMessage()) {
$("#errorDiv").append("<div>"+t.message+"</div>");
}
}
formBridge.submitForm({success:suc,error:err}); // not passing a context means that this will be formBridge itself. Validation errors will be checked.
}