Vous pouvez utiliser les API Form Bridge pour ouvrir un canal de communication entre des formulaires HTML5 XFA et vos applications. Les API Form Bridge fournissent une API connect pour créer la connexion.
L’API de connexion accepte un gestionnaire en tant qu’argument. Après la création d’une connexion réussie entre un formulaire HTML5 XFA et Form Bridge, la poignée est appelée.
Vous pouvez utiliser l’exemple de code suivant pour créer la connexion.
// Example showing how to connect to FormBridge
window.addEventListener("FormBridgeInitialized",
function(event) {
var fb = event.detail.formBridge;
fb.connect(function() {
//use form bridge functions
})
})
Assurez-vous d’avoir créé la connexion avant d’ajouter le fichier formruntime.jsp.
getBridgeVersion()
Renvoie le numéro de version de la bibliothèque de script.
isConnected() Vérifie si l’état du formulaire a été initialisé
Input : aucune
Output : True si l’état du formulaire XFA a été initialisé
Errors : aucune
connect(handler, context) établit une connexion à FormBridge et exécute la fonction après la connexion et l’état du formulaire a été initialisé.
Entrée:
Output : aucune
Error : aucune
getDataXML(options) Renvoie les données de formulaire actuelles au format XML
Entrée:
options : objet JavaScript contenant les propriétés suivantes :
Output : aucune
Error : aucune
registerConfig(configName, config) Enregistre les configurations spécifiques de l’utilisateur/du portail avec FormBridge. Ces configurations remplacent les configurations par défaut. Les configurations prises en charge sont spécifiées dans la section config.
Entrée:
configName: nom de la configuration à remplacer
widgetConfig : permet à l’utilisateur de remplacer les widgets par défaut dans le formulaire par des widgets personnalisés. La configuration est remplacée comme suit :
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig : permet à l’utilisateur de remplacer le comportement par défaut du rendu de la première page uniquement. La configuration est remplacée comme suit :
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig : permet à l'utilisateur de remplacer le niveau de journalisation, de désactiver la journalisation d'une catégorie ou d'afficher la console des journaux ou de l'envoyer au serveur. La configuration peut être remplacée comme suit :
formBridge.registerConfig{
"LoggerConfig" : {
{
"on":`<true *| *false>`,
"category":`<array of categories>`,
"level":`<level of categories>`, "
type":`<"console"/"server"/"both">`
}
}
SubmitServiceProxyConfig : permet aux utilisateurs d’enregistrer les envois et de consigner les services proxy.
window.formBridge.registerConfig("submitServiceProxyConfig",
{
"submitServiceProxy" : "`<submitServiceProxy>`",
"logServiceProxy": "`<logServiceProxy>`",
"submitUrl" : "`<submitUrl>`"
});
config : valeur de la configuration
Output : objet contenant la valeur d’origine de la configuration dans la propriété data.
Error : aucune
hideFields(fieldArray) Masque les champs dont les expressions Som sont fournies dans fieldArray. Définit la propriété presence des champs spécifiés sur invisible
Entrée:
Output : aucune
Error : aucune
showFields(fieldArray) Affiche les champs dont les expressions Som sont fournies dans fieldArray. Définit la propriété presence des champs fournis sur visible
Entrée:
Output : aucune
Error : aucune
hideSubmitButtons() Masque tous les boutons d’envoi du formulaire
getFormState() Renvoie le JSON représentant l’état du formulaire
Input : aucune
Output : objet contenant JSON représentant l’état actuel du formulaire dans ** la propriété data.
Error : aucune
restoreFormState(options) Restaure l’état du formulaire à partir de l’état JSON fourni dans l’objet options. L’état est appliqué et les gestionnaires de réussite ou d’erreur sont appelés après que l’opération soit terminée
Entrée:
Options:Objet JavaScript contenant les propriétés suivantes :
Output : aucune
Error : aucune
setFocus (som) Définit la cible d’action sur le champ spécifié dans l’expression Som
setFieldValue (som, value) Définit la valeur des champs pour les expressions Som données
Entrée:
Output : aucune
Erreur : renvoie une exception en cas d’expression Som incorrecte
getFieldValue (som) Renvoie la valeur des champs pour les expressions Som données
Entrée : tableau contenant les expressions Som des champs dont la valeur doit être récupérée
Output : objet contenant le résultat sous forme de tableau dans la propriété data.
Error : aucune
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) Récupérer la liste des valeurs pour la propriété donnée des champs spécifiés dans les expressions Som
Entrée:
Output: Objet contenant le résultat sous forme de tableau dans *data *property
Error : aucune
setFieldProperties(som, property, values) Définit la valeur de la propriété donnée pour tous les champs spécifiés dans les expressions Som.
Entrée:
Output : aucune
Error : aucune
// 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.
}