Sie können die Form Bridge-APIs verwenden, um einen Kanal für die Kommunikation zwischen XFA-basierten HTML5-Formularen und Ihren Anwendungen zu öffnen. Die Form Bridge-APIs stellen eine connect-API zum Erstellen der Verbindung bereit.
Die Verbindungs-API akzeptiert einen Handler als ein Argument. Nachdem eine erfolgreiche Verbindung zwischen XFA-basierten HTML5-Formularen und Form Bridge erstellt wurde, wird der Handle 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() Überprüft, ob der Formularstatus initialisiert wurde
Eingabe: keine
Ausgabe: Vertrauenswürdigkeit, 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 aktuellen Formulardaten im XML-Format zurück
Eingabe:
options: JavaScript-Objekt, das die folgenden Eigenschaften enthält:
Ausgabe: keine
Fehler: keine
registerConfig(configName, config) Registriert benutzerspezifische/portalspezifische 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: Ermöglicht dem Benutzer, die Standard-Widgets im Formular mit benutzerdefinierten Widgets zu überschreiben. Die Konfiguration wird überschrieben wie folgt:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: Ermöglicht dem Benutzer, das Standardverhalten beim Rendern nur der ersten Seite zu überschreiben. Die Konfiguration wird überschrieben wie folgt:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig: Ermöglicht dem Benutzer, die Protokollierungsstufe zu überschreiben, die Protokollierung für eine Kategorie zu deaktivieren oder festzulegen, ob die Protokollkonsole angezeigt oder an den Server gesendet werden soll. 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: Erlauben Sie den Benutzern, die Proxy-Dienste für Übermittlung und Protokollierung zu registrieren.
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-Ausdruck im fieldArray bereitgestellt werden. Setzt diepresence-Eigenschaft der angegebenen Felder auf invisible
Eingabe:
Ausgabe: keine
Fehler: keine
showFields(fieldArray) Zeigt die Felder an, deren SOM-Ausdruck 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 zurück, die den Formularstatus darstellt
Eingabe: keine
Ausgabe: Objekt, das JSON enthält, welches den aktuellen Formularstatus in der ** dataproperty darstellt.
Fehler: keine
restoreFormState(options) Stellt den Formularstatus aus dem bereitgestellten JSON-Status im options-Objekt wieder her. Der Status wird angewendet und Erfolgs- oder Fehlerhandler werden aufgerufen, nachdem der Vorgang ist abgeschlossen ist.
Eingabe:
Optionen: JavaScript-Objekt mit folgenden Eigenschaften:
Ausgabe: keine
Fehler: keine
setFocus (som) Legt den Fokus auf das im SOM-Ausdruck angegebene Feld fest
setFieldValue (som, value) Legt den Feldwert für die angegebenen SOM-Ausdruck fest
Eingabe:
Ausgabe: keine
Fehler: Gibt bei einem fehlerhaften SOM-Ausdruck eine Ausnahme aus
getFieldValue (som) Gibt den Feldwert für die angegebenen SOM-Ausdruck zurück
Eingabe: Array, das SOM-Ausdruck der Felder enthält, deren Wert abgerufen werden muss
Ausgabe: Objekt, das das Ergebnis als Array in der dataproperty 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 der Werte für die angegebene Eigenschaft der in SOM-Ausdrücken angegebenen Felder
Eingabe:
Ausgabe: Objekt, das das Ergebnis als Array in *data *property enthält
Fehler: keine
setFieldProperties(som, property, values) Legt den Wert der angegebenen Eigenschaft für alle in den SOM-Ausdrücken angegebenen Felder fest
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.
}