Creación y reutilización de funciones de JavaScript

El objeto de secuencia de comandos es un objeto que se puede utilizar para almacenar funciones y valores de JavaScript de forma independiente en relación con cualquier otro objeto de formulario específico. Normalmente, el objeto de secuencia de comandos se utiliza para crear funciones y métodos personalizados que se desean utilizar como parte de secuencias de comandos de JavaScript en diversas ubicaciones del formulario. Esta técnica reduce la cantidad global de secuencias de comandos necesarias para realizar acciones repetitivas.

El objeto de secuencia de comandos sólo admite secuencias de comandos escritas en JavaScript; sin embargo, no hay restricciones en cuanto a la ubicación en la que se pueden ejecutar las secuencias de comandos, siempre que el lenguaje de secuencias de comandos del suceso que invoque el objeto de secuencia de comandos esté definido como JavaScript.

Aunque Acrobat y Forms procesan las secuencias de comandos de los objetos de secuencia de comandos de la misma forma, tienen diferencias.

Sólo las secuencias de comandos que estén configuradas para ejecutarse en el cliente pueden utilizar objetos de secuencia de comandos configurados para ejecutarse en el cliente, y viceversa.

Creación de un objeto de secuencia de comandos

La creación de un objeto de secuencia de comandos se divide en dos partes. La primera parte implica agregar el objeto en sí al diseño del formulario y la segunda parte consiste en escribir la secuencia de comandos que se quiera almacenar en el objeto de secuencia de comandos.

  1. Cree un nuevo formulario o abra un formulario existente.

  2. En la paleta Jerarquía, haga clic con el botón derecho del ratón en un objeto de nivel de formulario o de subformulario y seleccione Insertar objeto con secuencia de comandos.

    Ver gráfico a tamaño completo
    A. Objeto de nivel de formulario B. Objeto de nivel de subformulario C. Objeto de secuencia de comandos de nivel de subformulario D. Objeto de secuencia de comandos de nivel de formulario
  3. (Opcional) Haga clic con el botón derecho del ratón en el objeto de secuencia de comandos y seleccione Cambiar el nombre del objeto.

Adición de una secuencia de comandos a un objeto de secuencia de comandos

Cuando haya un objeto de secuencia de comandos en el formulario, se podrán agregar secuencias de comandos mediante el Editor de secuencias de comandos.

  1. Seleccione el objeto de secuencia de comandos en la paleta Jerarquía.

    El Editor de secuencias de comandos muestra el valor Objeto de secuencia de comandos en la lista Mostrar y el valor JavaScript en la lista Lenguaje. No se puede cambiar ninguno de estos valores.

  2. Escriba la secuencia de comandos en el campo Origen de secuencia de comandos.

  3. Haga clic en la ficha Vista previa de PDF para probar el formulario.

Ejemplo

Por ejemplo, cree un objeto de secuencia de comandos denominado feedback que incluya la siguiente función:

function emptyCheck(oField) { 
 
    if ((oField.rawValue == null) || (oField.rawValue == "")) { 
        xfa.host.messageBox("You must input a value for this field.", "Error Message", 3); 
    } 
}

Referencia a funciones de JavaScript almacenadas en un objeto de secuencia de comandos

Tras agregar secuencias de comandos a un objeto de secuencia de comandos, se puede hacer referencia al objeto desde cualquier suceso que admita secuencias de comandos de JavaScript.

  1. Seleccione un objeto del formulario y un suceso en la lista Mostrar.

  2. Cree una referencia al objeto de secuencia de comandos y a cualquier función que incluya. En la siguiente sintaxis genérica se asume que el objeto desde el que se hace la referencia y el objeto de secuencia de comandos se encuentran en el mismo nivel de la jerarquía del formulario o que el objeto de secuencia de comandos se encuentra en el nivel superior de la jerarquía.

    script_object.function_name(parameter1, ...);

  3. Aplique la nueva secuencia de comandos al objeto de formulario y pruébela mediante una vista previa del formulario en la ficha Vista previa de PDF.

Al igual que ocurre con otros objetos de los formularios, se debe proporcionar una sintaxis válida al hacer referencia al objeto de secuencia de comandos que incluya dónde se encuentra dentro de la jerarquía del formulario. Para obtener más información acerca de la referencia a objetos en secuencias de comandos, consulte Referencia a propiedades y valores de objetos.

Ejemplo

Por ejemplo, tomando el ejemplo de objeto de secuencia de comandos de la sección Adición de una secuencia de comandos a un objeto de secuencia de comandos, coloque la siguiente secuencia de comandos de JavaScript en el suceso exit de un campo de texto. Pruebe el formulario mediante la ficha Vista previa de PDF.