Puede utilizar las API de puente de formulario 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 connect para crear la conexión.
La API connect acepta un controlador como argumento. Después de crear una conexión correcta entre el formulario HTML5 basado en XFA y el puente de formulario, se invoca el controlador.
Puede utilizar el siguiente código de muestra 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 secuencias de comandos
isConnected() Comprueba si se ha inicializado el estado del formulario
Entrada: Ninguno
Salida: Trueif se ha inicializado el estado de formulario XFA
Errores: Ninguno
connect(handler, context) Realiza una conexión a FormBridge y ejecuta la función después de realizar la conexión y de inicializar el estado del formulario
Entrada:
Salida: Ninguno
Error: Ninguno
getDataXML(options) Devuelve los datos de formulario actuales en formato XML
Entrada:
opciones:Objeto JavaScript que contiene las siguientes propiedades:
Salida: Ninguno
Error: Ninguno
registerConfig(configName, config) Registra configuraciones específicas de 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 se va a omitir
widgetConfig: permite al usuario anular los widgets predeterminados del formulario con widgets personalizados. La configuración se sobrescribe de la siguiente manera:
formBridge.registerConfig("widgetConfig":{/*configuration*/})
pagingConfig: permite al usuario anular el comportamiento predeterminado de representación solo de la primera página. La configuración se sobrescribe de la siguiente manera:
window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }).
LoggingConfig: permite al usuario anular el nivel de registro, deshabilitar el registro de una categoría o mostrar la consola de registros o enviarla al servidor. La configuración se puede anular de la siguiente manera:
formBridge.registerConfig{
"LoggerConfig" : {
{
"on":`<true *| *false>`,
"category":`<array of categories>`,
"level":`<level of categories>`, "
type":`<"console"/"server"/"both">`
}
}
SubmitServiceProxyConfig: permitir que los usuarios registren los servicios proxy de envío y de registro.
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 ** dataproperty.
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: Ninguno
Error: Ninguno
showFields(fieldArray) Muestra los campos cuyas expresiones Som se proporcionan en fieldArray. Define la propiedad presence de los campos proporcionados como visible
Entrada:
Salida: Ninguno
Error: Ninguno
hideSubmitButtons() Oculta todos los botones de envío del formulario
getFormState() Devuelve el JSON que representa el estado del formulario
Entrada: Ninguno
Salida: objeto que contiene JSON que representa el estado de formulario actual en ** dataproperty.
Error: Ninguno
restoreFormState(options) Restaura el estado de formulario desde el estado JSON proporcionado en el objeto options. Se aplica el estado y se llaman a los controladores de éxito o error una vez finalizada la operación
Entrada:
Opciones:Objeto JavaScript que contiene las siguientes propiedades:
Salida: Ninguno
Error: Ninguno
setFocus (som) Define el enfoque en el campo especificado en la expresión Som
setFieldValue (som, value) Establece el valor de los campos para las expresiones Som determinadas
Entrada:
Salida: Ninguno
Error: Emite una excepción en caso de una expresión Som incorrecta
getFieldValue (som) Devuelve el valor de los campos de las expresiones Som determinadas
Entrada: Matriz que contiene algunas expresiones de los campos cuyo valor debe recuperarse
Output: Objeto que contiene el resultado como Array en dataproperty.
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) Recuperar la lista de valores para la propiedad dada de los campos especificados en expresiones de algunos
Entrada:
Salida: objeto que contiene el resultado como matriz en *data *property
Error: Ninguno
setFieldProperties(som, property, values) Establece el valor de la propiedad dada para todos los campos especificados en las expresiones Som
Entrada:
Salida: Ninguno
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.
}