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. Une fois la connexion créée entre le 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
Sortie : Vérification si l’état du formulaire XFA a été initialisé
Errors : aucune
connect(handler, context) Se connecte à FormBridge et exécute la fonction une fois la connexion établie et l’état du formulaire 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 à l’utilisateur/au 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 du 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 ou non 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 les services proxy de journalisation.
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 le champArray. 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 le champArray. Définit la propriété presence des champs fournis sur visible
Entrée:
Output : aucune
Error : aucune
hideSubmitButtons() Masque tous les boutons d’envoi dans le formulaire
getFormState() Renvoie le JSON représentant l’état du formulaire
Input : aucune
Sortie : objet contenant JSON représentant l’état actuel du formulaire dans la ** propriété de données.
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 le focus 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
Error : renvoie une exception dans le cas d’une expression Som incorrecte
getFieldValue (som) Renvoie la valeur des champs pour les expressions Som données
Input : tableau contenant les expressions Som des champs dont la valeur doit être récupérée
Sortie : objet contenant le résultat sous forme de tableau dans la propriété dataproperty.
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érez la liste des valeurs pour la propriété donnée des champs spécifiés par les expressions Som
Entrée:
Sortie : objet contenant le résultat sous forme de tableau dans ** dataproperty
Error : aucune
setFieldProperties(som, property, values) Définit la valeur de la propriété donnée pour tous les champs spécifiés par 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.
}