Crear formularios con secciones repetibles (componentes principales) repeat-panel
Una sección repetible hace referencia a una parte de un formulario que se puede duplicar o repetir varias veces para recopilar información para instancias de los mismos datos.
Por ejemplo, considere un formulario utilizado para recopilar información sobre la experiencia laboral de una persona. Puede tener una sección repetible para capturar los detalles de cada trabajo anterior. La sección repetible generalmente contiene campos como nombre de la empresa, cargo, fechas de empleo y responsabilidades del puesto. El usuario puede agregar varias instancias de la sección repetible para introducir información sobre cada trabajo que ha realizado.
Al final de este artículo, aprenderá lo siguiente:
- Crear una sección repetible en un formulario adaptable
- Definir el número mínimo o máximo de repeticiones para un componente de formulario adaptable
- Utilizar el editor de reglas para configurar las acciones de adición o eliminación para secciones repetibles
Puede utilizar los componentes Panel, Acordeón, Pestañas horizontales, Pestañas verticales o Asistente para que las secciones de un formulario adaptable sean repetibles. Puede añadir componentes secundarios a estos componentes para crear secciones repetibles en un formulario.
Los ejemplos de este documento se basan en el componente Panel. Puede seguir los mismos pasos para que los componentes Panel, Acordeón, Pestañas horizontales, Pestañas verticales o Asistente sean repetibles.
Agregar o eliminar secciones repetibles en un formulario add-or-delete-repeatable-section-in-panel-container
Para repetir un panel en el formulario o quitar paneles repetibles, un autor de formularios utiliza un componente de botón para agregar o quitar instancias del panel. Para agregar o eliminar secciones repetibles (paneles) en un formulario, haga lo siguiente:
Hacer repetible el contenedor del panel make-panel-container-repeatable
Para hacer que un panel sea repetible, realice los siguientes pasos:
-
Seleccione un contenedor de panel y seleccione
-
Haga clic en repetir panel y active la opción para hacer repetible el panel.
-
Establezca repeticiones mínimas según sea necesario para las secciones mínimas repetibles. Puede establecer las repeticiones mínimas a cero para la no repetición de paneles o para quitar los paneles repetidos. De forma predeterminada, el valor de repetición mínima es cero.
-
Establezca repeticiones máximas para repetir el panel el número de veces necesarias. De forma predeterminada, el valor es infinito.
note note NOTE - La repetición mínima no puede ser un valor -ve.
- Para crear un panel no repetible, establezca el valor del campo máximo y mínimo en uno.
Adición de una sección repetible mediante Instance Manager (mediante secuencias de comandos) add-repeatable-section-using-instance-manager-via-scripts
El elemento principal del panel que se va a repetir debe contener un botón de adición para administrar la instancia de repetición del panel. Realice los siguientes pasos para insertar botones en el elemento principal y habilitar scripts en los botones:
-
Añada un componente de botón al elemento principal del panel. En el siguiente vídeo de ejemplo, se utiliza un componente de botón con el nombre de etiqueta Agregar y el nombre de campo AgregarPanel. Seleccione el componente y seleccione
-
En la ventana Editor de reglas, haga clic en Crear.
Seleccione Editor visual en la fila Objetos y funciones de formularios.
- En el área de regla, en CUANDO, se hace clic en seleccionar estado.
- En LUEGO, seleccione Añadir instancia, y arrastre y suelte el panel mediante el
Seleccione Editor de código en la fila Objetos y funciones de formularios. Haga clic en Editar reglas y en el área de código:
- Para crear un botón de añadir panel, especifique
this.panel.instanceManager.addInstance()
Haga clic en Listo.
Eliminar secciones repetibles con Instance Manager (mediante secuencias de comandos) delete-repeatable-section-using-instance-manager-via-scripts
El elemento principal del panel debe contener un botón de eliminación para eliminar la instancia de los paneles repetibles. Realice los siguientes pasos para insertar botones en el elemento principal y habilitar secuencias de comandos en los botones para eliminar paneles repetibles:
-
Añada un componente de botón al elemento principal del panel. En el siguiente vídeo, se utiliza un componente de botón con el nombre de etiqueta eliminar y nombre de campo EliminarPanel. Seleccione el componente y seleccione
-
En la ventana Editor de reglas, haga clic en Crear.
Seleccione Editor visual en la fila Objetos y funciones de formularios.
- En el área de reglas, en CUANDO EliminarPanel, se hace clic en seleccionar estado.
- En LUEGO, seleccione Quitar instancia, y arrastre y suelte el panel utilizando el
Seleccione Editor de código en la fila Objetos y funciones de formularios. Haga clic en Editar reglas y en el área de código:
- Para crear un botón de eliminar panel, especifique
this.panel.instanceManager.removeInstance(this.panel.instanceIndex)
Haga clic en Listo.
instances
en InstanceManager
. La sintaxis para usar la API de instances
en InstanceManager
es la siguiente:<panelName>.instanceManager.instances[<instanceNumber>].<fieldname>
<panel1><textbox1>AA1</panel1></textbox1>
<panel1><textbox1>AA2</panel1></textbox1>
<panel1><textbox1>AA3</panel1></textbox1>
Panel1.instanceManager.instances[0].textbox.value
Panel1.instanceManager.instances[1].textbox.value
Usar subformularios repetibles de la plantilla de formulario (XDP/XSD) using-repeating-subforms-from-form-template-xdp-xsd
El subformulario repetible es similar a los paneles repetibles de los formularios adaptables. En AEM Forms Designer, realice los siguientes pasos para crear un subformulario repetible:
- En la paleta Jerarquía, seleccione el subformulario principal del subformulario que desea que se repita.
- En la paleta Objeto, haga clic en la pestaña Subformulario y seleccione De posición variable en la lista Contenido.
- Seleccione el subformulario que desea repetir.
- En la paleta Objeto, haga clic en la pestaña Subformulario y seleccione De posición variable o De posición fija en la lista Contenido.
- Haga clic en la pestaña Enlace y seleccione Repetir subformulario para cada elemento de datos.
- Para especificar el número mínimo de repeticiones, seleccione Mínimo y escriba un número en el cuadro correspondiente. Si la opción se ajusta a 0 y no se suministran datos para los objetos del subformulario en el momento de la combinación de datos, el subformulario no se coloca al procesar el formulario.
- Para especificar el número máximo de repeticiones de subformulario, seleccione Máx. y escriba un número en el cuadro correspondiente. Si no se especifica un valor en el cuadro Máx., el número de repeticiones de subformulario es ilimitado.
- Para especificar un número definido de repeticiones de subformulario, independientemente de la cantidad de datos, seleccione la opción Recuento inicial y escriba un número en el cuadro correspondiente. Si se selecciona esta opción y no hay ningún dato disponible o existen menos entradas de datos que el valor especificado en Recuento inicial, las instancias vacías del subformulario todavía se colocan en el formulario.
- Agregue dos botones en el subformulario principal: uno para añadir instancias y otro para eliminar instancias de subformularios repetibles. Para ver los pasos detallados, consulte Generar una acción.
- Ahora, vincule la plantilla del formulario al formulario adaptable. Para ver los pasos detallados, consulte Crear un formulario adaptable basado en una plantilla.
- Utilice los botones creados en el paso 9 para añadir y quitar subformularios.
El archivo .zip adjunto contiene un subformulario repetible de ejemplo.
Utilizar la configuración repetida de un esquema XML (XSD) using-repeat-settings-of-an-xml-schema-xsd-br
Puede crear paneles repetibles a partir de un esquema XML y de la propiedad minOccours y maxOccurs de cualquier elemento de tipo complejo. Para obtener información detallada sobre el esquema XML, consulte Crear formularios adaptables mediante el esquema XML como modelo de formulario.
En el siguiente código, el panel SampleType
utiliza la propiedad minOccours y maxOccurs.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="https://adobe.com/sample.xsd"
xmlns="https://adobe.com/sample.xsd"
xmlns:xs="https://www.w3.org/2001/XMLSchema"
>
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="leaderName" type="xs:string" default="Enter Name"/>
<xs:element name="assignmentStartDate" type="xs:date"/>
<xs:element name="gender" type="GenderEnum"/>
<xs:element name="noOfProjectsAssigned" type="IntType"/>
<xs:element name="assignmentDetails" type="AssignmentDetails"
minOccurs="0" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssignmentDetails">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="durationOfAssignment" type="xs:unsignedInt" use="required"/>
<xs:attribute name="numberOfMentees" type="xs:unsignedInt" use="required"/>
<xs:attribute name="descriptionOfAssignment" type="xs:string" use="required"/>
<xs:attribute name="financeRelatedProject" type="xs:boolean"/>
</xs:complexType>
<xs:simpleType name="IntType">
<xs:restriction base="xs:int">
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GenderEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Female"/>
<xs:enumeration value="Male"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Consulte también see-also
- Crear un formulario adaptable de AEM
- Añadir un formulario adaptable de AEM a la página de AEM Sites
- Aplicar temáticas a un formulario adaptable de AEM
- Añadir componentes a un formulario adaptable de AEM
- Usar el servicio Captcha en un formulario adaptable de AEM
- Generar la versión en PDF (DoR) de un formulario adaptable de AEM
- Traducir un formulario adaptable de AEM
- Habilitar Adobe Analytics para un formulario adaptable con el fin de hacer un seguimiento del uso del formulario
- Conectar el formulario adaptable a Microsoft SharePoint
- Conectar formularios adaptables a Microsoft Power Automate
- Conectar el formulario adaptable a Microsoft OneDrive
- Conectar el formulario adaptable al almacenamiento de Microsoft Azure Blob
- Conectar el formulario adaptable a Salesforce
- Uso de Adobe Sign en un formulario adaptable de AEM
- Agregar una nueva configuración regional para un formulario adaptable
- Enviar datos de formulario adaptable a una base de datos
- Enviar datos de formulario adaptable a un punto final REST
- Enviar datos de formulario adaptable al flujo de trabajo de AEM
- Utilizar el portal de Forms para ver una lista de Formularios adaptables de AEM en un sitio web de AEM
- Añadir versiones, comentarios y anotaciones a un formulario adaptable
- Comparar formularios adaptables