HtmlForm

Takes 6 parameters, Location, Mode, ActionLabel, ActionPath, Class, ActionMethod

Usage:

Location, Mode, ActionLabel, ActionPath, Class, ActionMethod
Location, Mode, ActionLabel, ActionPath, Class, ["post"]
Location, Mode, ActionLabel, ActionPath, [""], ["post"]
Location, ["Append"], ActionLabel, ActionPath, [""], ["post"]
["Runtime"], ["Append"], ActionLabel, ActionPath, [""], ["post"]
["Runtime"], ["Append"], ActionLabel, [""], [""], ["post"]
["Runtime"], ["Append"], ["Submit"], [""], [""], ["post"]

 

Description:

The current work query will be used to create an HTML Form for either display purposes or to allow the user to submit data back to the system for processing.

This command uses the Fields that end in #Label, #Note, #Attr to format and layout the Fields with the same name. Use the GetFieldDefs command to automatically create and populate these Fields using the Database definitions.

If ActionLabel is set to "void", the submit button will not display.

The Class parameter may specify an ID by having one of the space separated values start with a #. That name will be set as the ID for the form, instead of being used as a Class name. The Class parameter applies to the form tag by default, but name=value pairs may be used to specify the class for the submit button. The button supports use of the & symbol to be replaced with btn- for each &, and will auto-add the base btn class. For example: "form='myForm' button='&primary'"

If the Class parameter does not specify a class for the button, in Bootstrap v3 "btn btn-default" will be used, and in Bootstrap V5 "btn btn-primary".

 

Using Field Values in Other Fields:

Label, Note, and some attributes in Attr allow the value of another field to be included within it by referencing the field name in { }, such as {Category}. Although this is powerful, the Label, Note, and many of these attributes unescape HTML as part of their expected behavior. Therefore, it is critical for security that fields used in this way are never directly editable by users.

 

Using the Language System:

Content.Lang values, as fetched by the Lang$ function, may also be referenced within Label, Note, and some attributes in Attr using a format of {$ $}, such as {$Category$}. Specifying a value of just {$$} will use the current Field's fully qualified name for the label, such as Content.Cateogry.Name, while the Note will expand to Content.Category.Name.Note, and when used with an Attribute to Content.Category.Name.Attr.

 

Example:

'Get the record from the database
LoadRecord    "MemTab.Person", "10101"

'Get the database definitions for #Label, #Note, and #Attr
GetFieldDefs

'Display the form
HtmlForm