Vormgevingskader voor adaptieve en HTML5-formulieren appearance-framework-for-adaptive-and-html-forms

Forms (de adaptieve vormen en de vormen van HTML5) gebruiken jQuery, Backbone.jsen Underscore.jsbibliotheken voor verschijning en het scripting. De vormen gebruiken ook de 🔗 Widgets architectuur 0} jQuery UI {voor alle interactieve elementen (zoals gebieden en knopen) in de vorm. 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 zijn verdeeld in twee categorieën: algemene opties en veldtypespecifieke 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 common-options

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 te vertellen. 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.
rol
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.
toegang
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 (links naar rechts) en rtl (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 formulierraamwerk interaction-with-forms-framework

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 geactiveerd door widget events-triggered-by-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 geïmplementeerd door widget apis-implemented-by-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.
click: function()
Hiermee wordt de focus op het veld geplaatst en wordt XFA_CLICK_EVENT aangeroepen.

markError:function(errorMessage, errorType)

errorMessage: koord die de fout
vertegenwoordigen errorType: koord ("waarschuwing"/"fout")

Nota : Van toepassing slechts voor vormen HTML5.

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

clearError: function()

Nota : Van toepassing slechts voor vormen HTML5.

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

Specifieke opties voor het veldtype options-specific-to-type-of-field

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: Text Field textedit-text-field

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

Nota : Van toepassing slechts voor vormen HTML5

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

ChoiceList: DropDownList, ListBox 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 -
save: waarde die moet worden opgeslagen, weergave: waarde die moet worden weergegeven.

bewerkbaar

Nota : Van toepassing slechts voor vormen HTML5.

Als de waarde waar is, wordt de ingang van de douanetekst toegelaten in widget.
displayValue
Serie van waarden aan vertoning.
multiselect
True if multiple selections are allowed, else false.

API api

Functie
Beschrijving
addItem: function(itemValues)
itemValues: object dat de display bevat en waarde opslaat
{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 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.
decimaal
Tekenreeksrepresentatie van decimaal in landinstelling van veld.

CheckButton: RadioButton, CheckBox checkbutton-radiobutton-checkbox

Opties
Beschrijving
waarden

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, is de waarden [1] de waarde wanneer de staat OFF is,
values[2] is de waarde wanneer de staat NEUTRAL is. De lengte van de waardenserie is gelijk aan de waarde van staatsoptie.

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) 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.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2