Puede utilizar las API de Form Bridge para abrir un canal de comunicación entre los formularios HTML5 basados en XFA y las aplicaciones. Las API de Form Bridge proporcionan una API de Connect para crear la conexión.
La API de Connect acepta un controlador como argumento. Después de crear correctamente una conexión entre el formulario HTML5 basado en XFA y Form Bridge, se invoca el controlador.
Puede utilizar el siguiente código de ejemplo para crear la conexión.
// Example showing how to connect to FormBridge
window.addEventListener("FormBridgeInitialized",
function(event) {
var fb = event.detail.formBridge;
fb.connect(function() {
//use form bridge functions
})
})
Asegúrese de crear una conexión antes de incluir el archivo formRuntime.jsp.
getBridgeVersion():
devuelve el número de versión de la biblioteca de scripts.
isConnected(): comprueba si el estado del formulario se ha inicializado.
Entrada: ninguna.
Salida: True si el estado del formulario XFA se ha inicializado.
Errores: ninguno.
connect(handler, context): realiza una conexión con FormBridge y ejecuta la función después de establecer la conexión y de inicializar el estado del formulario.
Entrada:
Salida: ninguna.
Error: ninguno.
getDataXML(options): devuelve los datos del formulario actual en formato XML.
Entrada:
options: un objeto JavaScript que contiene las siguientes propiedades:
Salida: ninguna.
Error: ninguno.
registerConfig(configName, config): registra las configuraciones específicas del usuario/portal con FormBridge. Estas configuraciones anulan las configuraciones predeterminadas. Las configuraciones admitidas se especifican en la sección de configuración.
Entrada:
configName: el nombre de la configuración que desea anular.
widgetConfig: permite que el usuario anule los widgets predeterminados del formulario con widgets personalizados. La configuración se anula de la siguiente forma:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: permite al usuario anular el comportamiento predeterminado al procesar solo la primera página. La configuración se anula de la siguiente forma:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig: permite al usuario anular el nivel de registro, desactivar el registro de una categoría, mostrar la consola de registros o realizar el envío al servidor. La configuración se puede anular de la siguiente forma:
formBridge.registerConfig{
"LoggerConfig" : {
{
"on":`<true *| *false>`,
"category":`<array of categories>`,
"level":`<level of categories>`, "
type":`<"console"/"server"/"both">`
}
}
SubmitServiceProxyConfig: permita que los usuarios registren los servicios proxy de envío y registrador.
window.formBridge.registerConfig("submitServiceProxyConfig",
{
"submitServiceProxy" : "`<submitServiceProxy>`",
"logServiceProxy": "`<logServiceProxy>`",
"submitUrl" : "`<submitUrl>`"
});
config: el valor de la configuración.
Salida: el objeto que contiene el valor original de la configuración en la propiedad data.
Error: ninguno.
hideFields(fieldArray): oculta los campos cuyas expresiones Som se proporcionan en fieldArray. Establece la propiedad presence de los campos especificados como invisible
Entrada:
Salida: ninguna.
Error: ninguno.
showFields(fieldArray): muestra los campos cuyas expresiones Som se proporcionan en fieldArray. Establece la propiedad presence de los campos proporcionados como visible
Entrada:
Salida: ninguna.
Error: ninguno.
hideSubmitButtons(): oculta todos los botones de envío del formulario.
getFormState(): devuelve el JSON que representa el estado del formulario.
Entrada: ninguna.
Salida: el objeto que contiene el JSON que representa el estado del formulario actual en la propiedad data.
Error: ninguno.
restoreFormState(options): restaura el estado del formulario a partir del estado JSON proporcionado en el objeto options. Se aplica el estado y se llama a los controladores de éxito o de error una vez finalizada la operación
Entrada:
Options: un objeto JavaScript que contiene las siguientes propiedades:
Salida: ninguna.
Error: ninguno.
setFocus (som): establece el enfoque en el campo especificado en la expresión Som.
setFieldValue (som, value): establece el valor de los campos para las expresiones Som dadas.
Entrada:
Salida: ninguna.
Error: Inicia una excepción si hay una expresión Som incorrecta
getFieldValue (som): devuelve el valor de los campos de las expresiones Som dadas.
Entrada: la matriz que contiene las expresiones Som de los campos cuyo valor debe recuperarse.
Salida: el objeto que contiene el resultado como matriz en la propiedad data.
Error: ninguno.
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): recupera la lista de valores de la propiedad dada de los campos especificados en las expresiones Som.
Entrada:
Salida: el objeto que contiene el resultado como matriz en la propiedad data.
Error: ninguno.
setFieldProperties(som, property, values): establece el valor de la propiedad dada para todos los campos especificados en las expresiones Som.
Entrada:
Salida: ninguna.
Error: ninguno.
// 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.
}