Auto forms are a way of connecting a html form to the DateEase data by using one init function together with ids and data attributes in the html to connect to the correct tables on the server side. This means that most of the work will be to define the form in html and deconnect do most of the heavy lifting. You can use this model on both single and multi record forms. You can either use the relation names from the DataEase prism or define your own adhoc relations in the auto form.

All attributes in the lists below will start with "data-" but this is omitted for readability.

The data attributes to use at the form and subform level

formdataaction defines that to do when form loads. Default to new record if not set. Values supported are new and first.
formloaded a function to be called at top level when form is done loading the data or just a function called when the rest of initialization code is done.
formtype can be main, single or multi and tells if the elements contained should be treated as a record or multiple records. The type main indicates that this is the main record holding the relations to any other records on the form. Default value if not present is main.
parenttable table name for my maindata
relationship name of the relationship to use from subform
tablename from what table to read data for this form. If single one record will be read using the url query if no fixed query given and multiple records if this is a multi record element.

The data attributes to use at the field level

belongto if a field not can be added to a surrounded div with a data-tablename setting, you can use this setting to tell what table it belongs to.

Defines a name of custom getter. The getter must be a function with the format function(jqueryelement) and defined at top level in the page.

Ex. <textarea id="BodyForEditor" data-getter="calleditorget" data-setter="calleditorset"></textarea>

live maps an element to data. This can be a p, span, div or any other element that can replace inner html with the value of the record data value.
mapidto used to map an id with a different name than the field name in a column. In HTML the ids can not have space in the name due to problems with selectors when you want to find an element, but a space is often used in the name of a field in DataEase. When this is done you can use <input type="text" id="InStock" data-mapidto="In stock"> to make a mapping between the real field name and the id in the form.
onfieldchange name of a top level function to call when data in field changes by user interaction
Ex. <input id="Name" type="text" data-onfieldchange="fieldvaluehaschanged"> will call the named function defined in the html page when ever the user changes the value. The function will have the same interface as a jquery event. That is this refers to the calling object and first argument is the jquery event object.
selectlist used by list to tell the system what list we want. Default is listtables.
selectnoaddblank set this to not add a blank in the start of a select. This will make a new record select first in list in no extra action done. You will not be able to save blank values if no bank is added.
selectpopulate tells the system to create option elements from a source. Available choices are now tdf and later table will be added
selecttable the table to read data from
selecttablequery the table query to be used to read the data into formdata
selecttext In a select we have option that differs on what it reports back and what it shows. This is the field used for the text between option start and end tag.
selectvalue In a select we have option that differs on what it reports back and what it shows. This is the field used for value= in an option in a select.
setter Defines name on custom setter. The setter must be a function with the format function(jqueryelement,fieldlvalue) and defined at top level in the page. Return true or false to tell function if it should do the default function as well. If true, normal set will be called and false will strop the default setter.
Ex. <img data-live="MyPicture" data-setter="calculateimagesource">
then you use a function to transform from windows path format to web and set the src.

The data attributes to use at global level like form action

action action to do on click event