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 un connect para crear la conexión.
La variable connect La API acepta un controlador como argumento. Después de crear una conexión correcta 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 Scripting
isConnected() Comprueba si el estado del formulario se ha inicializado
Entrada: Ninguna
Salida: True si el estado del formulario XFA se ha inicializado
Errores: Ninguna
connect(handler, context) Realiza una conexión con FormBridge y ejecuta la función después de establecer la conexión y de inicializar Form State
Entrada:
Salida: Ninguna
Error: Ninguna
getDataXML(options) Devuelve los datos del formulario actual en formato XML
Entrada:
opciones: Objeto JavaScript que contiene las siguientes propiedades:
Salida: Ninguna
Error: Ninguna
registerConfig(configName, config) Registra 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: 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 manera:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: Permite al usuario anular el comportamiento predeterminado de procesar solo la primera página. La configuración se anula de la siguiente manera:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true false="">, scarinkPageDisabled: <true false=""> }).
LoggingConfig: Permite al usuario anular el nivel de registro, desactivar el registro de una categoría, o mostrar la consola de registros o enviar al servidor. La configuración se puede sobrescribir de la siguiente manera:
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: Valor de la configuración
Salida: Objeto que contiene el valor original de la configuración en data propiedad.
Error: Ninguna
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: Ninguna
showFields(fieldArray) Muestra los campos cuyas expresiones Som se proporcionan en fieldArray. Define la propiedad presence de los campos proporcionados como visible
Entrada:
Salida: Ninguna
Error: Ninguna
hideSubmitButton() Oculta todos los botones de envío del formulario
getFormState() Devuelve el JSON que representa el estado del formulario
Entrada: Ninguna
Salida: Objeto que contiene JSON que representa el estado de formulario actual en data propiedad.
Error: Ninguna
restoreFormState(options) Restaura el estado del formulario a partir del estado JSON proporcionado en el objeto options . Se aplica el estado y se llaman a los controladores de éxito o de error una vez finalizada la operación
Entrada:
Opciones: Objeto JavaScript que contiene las siguientes propiedades:
Salida: Ninguna
Error: Ninguna
setFocus (som) Define el enfoque en el campo especificado en la expresión Som
setFieldValue (som, value) Define el valor de los campos para las expresiones Som dadas
Entrada:
Salida: Ninguna
Error: Genera una excepción en el caso de una expresión Som incorrecta
getFieldValue (som) Devuelve el valor de los campos de las expresiones Som dadas
Entrada: Matriz que contiene expresiones Som de los campos cuyo valor debe recuperarse
Salida: Objeto que contiene el resultado como matriz en data propiedad.
Error: Ninguna
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, propiedad) Recupere la lista de valores para la propiedad dada de los campos especificados en expresiones Som
Entrada:
Salida: Objeto que contiene el resultado como matriz en *data *property
Error: Ninguna
setFieldProperties(som, property, values) Define el valor de la propiedad dada para todos los campos especificados en las expresiones Som
Entrada:
Salida: Ninguna
Error: Ninguna
// 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.
}