AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.
Herhaalbare secties zijn deelvensters die dynamisch aan een formulier kunnen worden toegevoegd of eruit kunnen worden verwijderd.
Tijdens het aanvragen van een baan verschaft de werkzoekende bijvoorbeeld eerdere werkgelegenheidsgegevens, zoals bedrijfsnaam, rol, project en andere informatie. De informatie van alle werkgevers vereist verschillende, maar gelijksoortige rubrieken. In een dergelijk scenario voorziet het formulier voor de arbeidsvoorziening in een sectie van de werkgever en biedt het ook de mogelijkheid om dynamisch meer van dergelijke secties toe te voegen. Deze secties, die dynamisch worden toegevoegd, worden genoemd Herhalbare secties.
U kunt een van de volgende methoden gebruiken om herhaalbare deelvensters te maken:
Selecteer in de bewerkingsmodus een deelvenster en tik vervolgens op . Schakel in de zijbalk onder Eigenschappen de optie Deelvenster opnieuw instellen. Geef waarden op voor de Maximum en Minimum velden.
In het veld Maximaal wordt het maximale aantal keer opgegeven dat een deelvenster op de pagina kan worden weergegeven. U kunt -1 opgeven in het veld Maximum aantal om het deelvenster een oneindig aantal keren weer te geven.
Met het veld Minimaal geeft u op hoe vaak het aantal keer dat een deelvenster wordt weergegeven op het formulier, minimaal moet zijn. Als u het veld Minimum aantal op nul instelt, kunt u later alle instanties via scripts verwijderen nadat de vertoning is voltooid.
Als u een niet-herhaalbaar deelvenster wilt maken, stelt u de waarde van het veld Maximaal en Minimaal in op 1. De accordeonlay-out ondersteunt geen -1 in het veld Maximum aantal. U kunt een hoog getal opgeven om een oneindige waarde op te geven.
Het bovenliggende element van het deelvenster, dat moet worden herhaald, moet knoppen voor toevoegen en verwijderen bevatten om instanties van de herhaalbare deelvensters te beheren. Voer de volgende stappen uit om knoppen in te voegen in het bovenliggende element en om scripts in de knoppen in te schakelen:
Sleep vanuit het zijpaneel een knopcomponent naar het bovenliggende element van het deelvenster. Selecteer de component en tik op . De regels van de knoop open in de regelredacteur.
Klik in het venster Regeleditor op Maken.
Selecteren Visuele editor in de rij Formulierobjecten en -functies.
Selecteer in het regelgebied onder WHEN de staat is aangeklikt.
Onder DAN:
Selecteren Code-editor in de rij Formulierobjecten en -functies. Klikken Regels bewerken en in het codegebied:
this.panel.instanceManager.addInstance()
this.panel.instanceManager.removeInstance(this.panel.instanceIndex)
Klikken Gereed.
Als een veld tot een herhaalbaar deelvenster behoort, kunt u het veld niet rechtstreeks openen met de naam ervan in uw scripts. Als u toegang wilt krijgen tot het veld, geeft u met de instances
API in InstanceManager
. De syntaxis die moet worden gebruikt voor de instances
API in InstanceManager
is:
<panelName>.instanceManager.instances[<instanceNumber>].<fieldname>
U maakt bijvoorbeeld een adaptief formulier met een herhaalbaar deelvenster met een tekstvak. Wanneer u het formulier vooraf invult met drie herhaalbare tekstvakken, hebt u de xml hieronder nodig:
<panel1><textbox1>AA1</panel1></textbox1>
<panel1><textbox1>AA2</panel1></textbox1>
<panel1><textbox1>AA3</panel1></textbox1>
Als u AA1-gegevens wilt lezen, geeft u op:
Panel1.instanceManager.instances[0].textbox.value
Als u AA2-gegevens wilt lezen, geeft u op:
Panel1.instanceManager.instances[1].textbox.value
Zie voor meer informatie: Klasse: InstanceManager#instances in Referentie AEM Forms Java API.
Wanneer alle instanties van een deelvenster uit een adaptief formulier zijn verwijderd en u een instantie van het verwijderde deelvenster wilt toevoegen, gebruikt u de syntaxis _panelName om het Instance Manager van het deelvenster vast te leggen en gebruikt u de API van Instance Manager addInstance om de verwijderde instantie toe te voegen. Bijvoorbeeld _panelName.addInstance(). Er wordt een instantie van het verwijderde deelvenster toegevoegd.
Een deelvenster heeft verschillende layoutopties. De optie Layout voor accordeonontwerp biedt geen ondersteuning voor herhaalbare deelvensters. Voer de volgende stappen uit naar het herhaalbare deelvenster met de optie Layout voor accordeonontwerp:
Tik op het bovenliggende deelvenster dat u wilt herhalen . U kunt de eigenschappen in de zijbalk zien. In de Layout vervolgkeuzelijst, selecteert u Accordeon.
Tik op een deelvenster dat moet worden herhaald . U kunt de deelvenstereigenschappen in de zijbalk zien. De optie Deelvenster opnieuw instellen en geeft u een waarde op voor de Maximum en Minimaal velden.
Nu kunt u de plusknop (+) en de verwijderknop ( ) om de deelvensters toe te voegen en te verwijderen.
Herhalbaar subformulier is vergelijkbaar met de herhaalbare deelvensters in Adaptief Forms. Voer in AEM Forms Designer de volgende stappen uit om een herhalend subformulier te maken:
ZIP-bestand dat is gekoppeld, bevat een voorbeeld van een herhaalbaar subformulier.
U kunt herhaalbare panelen van een Schema van XML en van het minOccurs & maxOccurs bezit van om het even welk complex typeelement tot stand brengen. Voor gedetailleerde informatie over het Schema van XML, zie Aangepaste formulieren maken met XML-schema als formuliermodel.
In de volgende code worden de SampleType
gebruikt de eigenschap minOccurs & 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>
Voor een niet-harmonische indeling gebruikt u adaptieve componenten van een formulierknop om instanties toe te voegen en te verwijderen.