È possibile utilizzare le API Form Bridge per aprire un canale di comunicazione tra i moduli HTML5 basati su XFA e le applicazioni. Le API Form Bridge forniscono un'API connect per creare la connessione.
L'API connect accetta un gestore come argomento. Dopo aver creato una connessione tra il modulo HTML5 basato su XFA e il Form Bridge, viene richiamato l'handle.
Per creare la connessione è possibile utilizzare il seguente codice di esempio.
// Example showing how to connect to FormBridge
window.addEventListener("FormBridgeInitialized",
function(event) {
var fb = event.detail.formBridge;
fb.connect(function() {
//use form bridge functions
})
})
Assicurarsi di creare una connessione prima di includere il file formRuntime.jsp.
getBridgeVersion()
Restituisce il numero di versione della libreria Script
isConnected() Controlla se lo stato del modulo è stato inizializzato
Input: None
Output: True se lo stato del modulo XFA è stato inizializzato
Errori: None
connect(handler, context) Esegue una connessione a FormBridge ed esegue la funzione dopo la connessione e l'inizializzazione dello stato del modulo
Input:
Output: None
Errore: None
getDataXML(options) Restituisce i dati del modulo corrente in formato XML
Input:
opzioni:oggetto JavaScript contenente le proprietà seguenti:
Output: None
Errore: Nessuno
registerConfig(configName, config) Registra le configurazioni utente/portale specifiche con FormBridge. Queste configurazioni ignorano le configurazioni predefinite. Le configurazioni supportate sono specificate nella sezione di configurazione.
Ingresso:
configName: nome della configurazione da ignorare
widgetConfig: consente all'utente di ignorare i widget predefiniti nel modulo con widget personalizzati. La configurazione viene sostituita come segue:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: consente all'utente di ignorare il comportamento predefinito del rendering solo della prima pagina. La configurazione viene sostituita come segue:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig: consente all'utente di ignorare il livello di registrazione, disabilitare la registrazione per una categoria o se visualizzare la console dei registri o inviarla al server. La configurazione può essere ignorata e sostituita come segue:
formBridge.registerConfig{
"LoggerConfig" : {
{
"on":`<true *| *false>`,
"category":`<array of categories>`,
"level":`<level of categories>`, "
type":`<"console"/"server"/"both">`
}
}
SubmitServiceProxyConfig: consente agli utenti di registrare i servizi proxy di invio e registrazione.
window.formBridge.registerConfig("submitServiceProxyConfig",
{
"submitServiceProxy" : "`<submitServiceProxy>`",
"logServiceProxy": "`<logServiceProxy>`",
"submitUrl" : "`<submitUrl>`"
});
config: Valore della configurazione
Output: oggetto contenente il valore originale della configurazione in ** data property.
Errore: Nessuno
hideFields(fieldArray) Nasconde i campi le cui espressioni Som sono fornite in fieldArray. Imposta la proprietà presence dei campi specificati su invisibile
Ingresso:
Output: None
Errore: Nessuno
showFields(fieldArray) Mostra i campi le cui espressioni Som sono fornite in fieldArray. Imposta la proprietà presence dei campi forniti su visible
Ingresso:
Output: None
Errore: Nessuno
hideSubmitButtons() Nasconde tutti i pulsanti Invia del modulo
getFormState() Restituisce il JSON che rappresenta lo stato del modulo
Input: Nessuno
Output: oggetto contenente JSON che rappresenta lo stato del modulo corrente nella proprietà ** data.
Errore: Nessuno
restoreFormState(options) Ripristina lo stato del modulo dallo stato JSON fornito nell'oggetto options. Lo stato viene applicato e i gestori di errori o di successo vengono chiamati al termine dell'operazione
Ingresso:
Opzioni:oggetto JavaScript contenente le proprietà seguenti:
Output: None
Errore: Nessuno
setFocus (som) Imposta lo stato attivo sul campo specificato nell'espressione Som
setFieldValue (som, value) Imposta il valore dei campi per le espressioni Som date
Ingresso:
Output: None
Errore: genera un'eccezione nel caso di un'espressione Som non corretta
getFieldValue (som) Restituisce il valore dei campi per le espressioni Som specificate
Input: Array contenente le espressioni Som dei campi il cui valore deve essere recuperato
Output: Object contenente il risultato come Array nella proprietà data.
Errore: Nessuno
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, proprietà) Recupera l'elenco di valori per la proprietà data dei campi specificati nelle espressioni Som
Ingresso:
Uscita: Oggetto contenente il risultato come array in *data *property
Errore: Nessuno
setFieldProperties(som, property, values) Imposta il valore della proprietà data per tutti i campi specificati nelle espressioni Som
Ingresso:
Output: None
Errore: Nessuno
// 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.
}