Weergaveframework voor adaptieve en HTML5-formulieren

Forms (adaptieve formulieren en HTML5-formulieren) gebruiken jQuery, Backbone.js en Underscore.js bibliotheken voor weergave en scripts. De formulieren gebruiken ook de jQuery-gebruikersinterface Widgets-architectuur voor alle interactieve elementen (zoals velden en knoppen) in het formulier. Met deze architectuur kunnen formulierontwikkelaars een uitgebreide set beschikbare jQuery-widgets en -plug-ins in Forms gebruiken. U kunt ook formulierspecifieke logica implementeren terwijl u gegevens vastlegt van gebruikers, zoals beperkingen voor leadDigits/trailDigits of afbeeldingsclausules. Formulierontwikkelaars kunnen aangepaste toepassingen maken en gebruiken om de ervaring op het gebied van gegevensvastlegging te verbeteren en gebruikersvriendelijker te maken.

Dit artikel is bedoeld voor ontwikkelaars met voldoende kennis van jQuery- en jQuery-widgets. Het biedt inzicht in het weergaveframework en stelt ontwikkelaars in staat een alternatieve weergave voor een formulierveld te maken.

Het weergaveframework is afhankelijk van verschillende opties, gebeurtenissen (triggers) en functies om gebruikersinteracties met het formulier vast te leggen en reageert op modelwijzigingen om de eindgebruiker te informeren. Daarnaast:

  • Het framework biedt een set opties voor de weergave van een veld. Deze opties zijn sleutelwaardeparen en worden in twee categorieën verdeeld: algemene opties en veldtype-specifieke opties.
  • De verschijning, als deel van het contract, brengt een reeks gebeurtenissen zoals binnen en uitgang teweeg.
  • De vormgeving is vereist voor het implementeren van een set functies. Sommige functies komen vaak voor, andere zijn specifiek voor veldtypefuncties.

Algemene opties

Hier volgen de ingestelde globale opties. Deze opties zijn beschikbaar voor elk veld.

Eigenschap Beschrijving
name Een id die wordt gebruikt om dit object of deze gebeurtenis op te geven in scriptexpressies. Deze eigenschap geeft bijvoorbeeld de naam van de hosttoepassing op.
value Werkelijke waarde van het veld.
displayValue Deze waarde van het veld wordt weergegeven.
screenReaderText Readers in het scherm gebruiken deze waarde om informatie over het veld van commentaar te voorzien. Het formulier bevat de waarde en u kunt de waarde overschrijven.
tabIndex De positie van het veld in de tabvolgorde van het formulier. Overschrijf de tabIndex alleen als u de standaardtabvolgorde van het formulier wilt wijzigen.
role Rol van het element, bijvoorbeeld Kop of Tabel.
height De hoogte van de widget. Deze wordt opgegeven in pixels.
width De breedte van de widget. Deze wordt opgegeven in pixels.
access Controls used to access the contents of a container object, such as a subform.
paraStyles De paraeigenschap van een XFA-element voor de widget.
dir De richting van de tekst. De mogelijke waarden zijn ltr (van links naar rechts) en rtl (van rechts naar links).

Naast deze opties biedt het framework andere opties die afhankelijk zijn van het type veld. De details voor de velden-specifieke opties worden hieronder vermeld.

Interactie met formulierframework

Voor interactie met formulierframework activeert een widget bepaalde gebeurtenissen zodat het formulierscript kan werken. Als de widget deze gebeurtenissen niet genereert, werken sommige scripts die in het formulier voor dat veld zijn geschreven, niet.

Gebeurtenissen die worden geactiveerd door widget

Gebeurtenis Beschrijving
XFA_ENTER_EVENT Deze gebeurtenis wordt geactiveerd wanneer het veld de focus heeft. Hiermee kan het script "enter" in het veld worden uitgevoerd. De syntaxis voor het activeren van de gebeurtenis is
(widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_ENTER_EVENT)
XFA_EXIT_EVENT Deze gebeurtenis wordt geactiveerd wanneer de gebruiker het veld verlaat. Hiermee kan de engine de waarde van het veld instellen en het script "exit" uitvoeren. De syntaxis voor het activeren van de gebeurtenis is
(widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_EXIT_EVENT)
XFA_CHANGE_EVENT Deze gebeurtenis wordt geactiveerd om de engine in staat te stellen het script "change" uit te voeren dat in het veld wordt geschreven. De syntaxis voor het activeren van de gebeurtenis is
(widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_CHANGE_EVENT)
XFA_CLICK_EVENT Deze gebeurtenis wordt geactiveerd wanneer op het veld wordt geklikt. het staat de motor toe om het "klikmanuscript in werking te stellen dat op het gebied wordt geschreven. De syntaxis voor het activeren van de gebeurtenis is
(widget)._trigger(xfalib.ut.XfaUtil.prototype.XFA_CLICK_EVENT)

API's die worden geïmplementeerd door widget

Het weergaveframework roept enkele functies van de widget aan die in de aangepaste widgets zijn geïmplementeerd. De widget moet de volgende functies implementeren:

-functie Beschrijving
focus: function() Hiermee wordt de focus op het veld geplaatst.
klikken: function() Hiermee wordt de focus op het veld geplaatst en wordt XFA_CLICK_EVENT aangeroepen.

markError:function(errorMessage, errorType)

errorMessage: tekenreeks die de fout vertegenwoordigt
errorType: string ("warning"/"error")

Opmerking: Alleen van toepassing op HTML5-formulieren.

Verzendt foutberichten en fouttype naar de widget. De widget geeft de fout weer.

clearError: function()

Opmerking: Alleen van toepassing op HTML5-formulieren.

Wordt aangeroepen als de fouten in het veld zijn gecorrigeerd. De widget verbergt de fout.

Specifieke opties voor het veldtype

Alle aangepaste widgets moeten voldoen aan de bovenstaande specificaties. Als u de functies van verschillende velden wilt gebruiken, moet de widget voldoen aan de richtlijnen voor dat veld.

TextEdit: Tekstveld

Optie Beschrijving
multiline True if the field supports enter a newline character, else false.
maxChars Maximumaantal tekens dat in het veld kan worden ingevoerd.

limitLengthToVisibleArea

Opmerking: Alleen van toepassing op HTML5-formulieren

Geeft het gedrag van een tekstveld op wanneer de breedte van de tekst de breedte van de widget overschrijdt.

ChoiceList: DropDownList, ListBox

Optie Beschrijving
value
Array van geselecteerde waarden.
items
Array met objecten die als opties moeten worden weergegeven. Elk object bevat twee eigenschappen -
opslaan: op te slaan waarde, weergave: waarde die moet worden weergegeven.

bewerkbaar

Opmerking: Alleen van toepassing op HTML5-formulieren.

Als de waarde waar is, wordt de ingang van de douanetekst toegelaten in widget.
displayValue
Array met waarden die moeten worden weergegeven.
multiselect
True if multiple selections are allowed, else false.

API

-functie Beschrijving

addItem: function(itemValues)
itemValues: object met de weergave- en opslagwaarde
{sDisplayVal: <displayValue>, sSaveVal: <save Value>}

Hiermee wordt een item aan de lijst toegevoegd.
deleteItem: function(nIndex)
nIndex: index van het item dat uit de lijst moet worden verwijderd


Hiermee verwijdert u een optie uit de lijst.
clearItems: function() Hiermee wist u alle opties uit de lijst.

NumericEdit: NumericField, DecimalField

Opties Beschrijving
dataType Tekenreeks die het gegevenstype van het veld vertegenwoordigt (geheel getal/decimaal).
leadDigits Maximum aantal voorloopcijfers toegestaan in het decimale getal.
fracDigits Maximum aantal breukcijfers toegestaan in het decimale getal.
nul Tekenreeksrepresentatie van nul in landinstelling van het veld.
decimal Tekenreeksrepresentatie van decimaal in landinstelling van veld.

CheckButton: RadioButton, CheckBox

Opties Beschrijving
values

Array van waarden (aan/uit/neutraal).

Het is een array van waarden voor de verschillende toestanden van de checkButton. values[0] is de waarde wanneer de staat ON is, values[1] is de waarde wanneer de staat OFF is,
values[2] is de waarde wanneer de staat NEUTRAL is. De lengte van de waardenarray is gelijk aan de waarde van de statusoptie.

statussen

Aantal toegestane staten.

Twee voor adaptieve formulieren (Aan, Uit) en drie voor HTML5-formulieren (Aan, Uit, Neutraal).

state

Huidige status van het element.

Twee voor adaptieve formulieren (Aan, Uit) en drie voor HTML5-formulieren (Aan, Uit, Neutraal).

DateTimeEdit: (DateField)

Optie Beschrijving
dagen Gelokaliseerde naam van dagen voor dat veld.
maanden Gelokaliseerde maandnamen voor dat veld.
nul De gelokaliseerde tekst voor het getal 0.
clearText De gelokaliseerde tekst voor wissen knop.

Op deze pagina