Forms
What is publisher forms? One or more of:
- A standardised way of defining forms in HTML
- A DOM and class setup that allows you to standardise how your CSS targets the forms
- RPC handling to easily connect forms to the backend
Build beautiful, responsive and GDPR-proof forms.
- Basic setup
- Address fields in forms
- (Re)captcha
- Webtool formhooks
- Custom forms
- CUSTOM QUESTION TYPES
- CUSTOM HANDLER TYPES
- Custom form types
- JavaScript handling
- Setting up RTD fields
- Mail confirmation handler
- FAQ
Base classes for forms and form pages
- OBJECTTYPE ComposedFormFieldBase
- OBJECTTYPE CustomFormFieldBase
- OBJECTTYPE FormBase
Form base object
- OBJECTTYPE FormComponentExtensionBase
- OBJECTTYPE FormEditorExtensionBase
- OBJECTTYPE FormFieldBase
Base class for a form field (typically a question)
- OBJECTTYPE FormHandlerBase
- OBJECTTYPE FormHandlerTaskBase
Base class for form handler managed tasks
- OBJECTTYPE FormSettingsExtensionBase
- STRING FUNCTION GetFormRequestURL()
Get the form's request URL
- STRING FUNCTION GetFormWebVariable(STRING varname)
Get a form's web variable
- RECORD FUNCTION ParseCustomFormField(RECORD fielddef, OBJECT node, RECORD parsecontext)
- OBJECTTYPE SelectFormFieldBase
- OBJECTTYPE ValuelessFormFieldBase
- OBJECTTYPE WebtoolFormHooks
Base class for hooking into a webtoolform. Invoked in frontend and in tollium contexts to allow forms to add extra cells to results
- OBJECTTYPE WebtoolFormPage
APIs for managing form files
- OBJECTTYPE ConditionValidationException
- OBJECT FUNCTION CreateNewFormdefinitionsFile()
Creates a new form definition object
- RECORD FUNCTION FCAnd(RECORD ARRAY conditions, RECORD options)
Create a form condition that matches if all of the given conditions match
- RECORD FUNCTION FCIsSet(OBJECT field, RECORD options)
Create a form condition checking if a field value is set
- RECORD FUNCTION FCMatch(OBJECT field, STRING matchtype, VARIANT value, RECORD options)
Create a form condition checking if the value of a select field is one of a given list of values
- RECORD FUNCTION FCNot(RECORD condition, RECORD options)
Create a form condition that matches if the given conditions does not match
- RECORD FUNCTION FCOr(RECORD ARRAY conditions, RECORD options)
Create a form condition that matches if any of the given conditions match
- OBJECT FUNCTION OpenFormByTarget(STRING formtarget, RECORD options)
Open a webtool form by its formtarget (encrypted formid)
- OBJECT FUNCTION OpenFormFileDefinition(OBJECT formfile, RECORD options)
Open a formdefinition WHFS file
- OBJECT FUNCTION OpenFormFileResults(OBJECT formfile, RECORD options)
Open the result storage of a formdefinition WHFS file
- OBJECT FUNCTION OpenWebtoolForm(INTEGER formid, RECORD options)
Open a webtool form directly
- OBJECT FUNCTION OpenWHFSFormDefinitionsFile(OBJECT whfsobject)
Open a form definition file from WHFS
Standard form components
- OBJECTTYPE Address
- OBJECTTYPE AddressField
- OBJECTTYPE ArrayField
- OBJECTTYPE CaptchaField
- OBJECTTYPE CheckBoxField
- OBJECTTYPE DateField
- OBJECTTYPE EditCountries
- OBJECTTYPE EditSelectOption
- OBJECT ARRAY FUNCTION ExpandToAllChildren(OBJECT parentcomp)
- OBJECTTYPE FormCheckBox
- OBJECTTYPE FormDate
- OBJECTTYPE FormEmail
- OBJECTTYPE FormGroup
- OBJECTTYPE FormGroupField
- OBJECTTYPE FormNumericTextEdit
- OBJECTTYPE FormOverviewPage
- OBJECTTYPE FormPage
- OBJECTTYPE FormRTD
- OBJECTTYPE FormSelectMultiple
- OBJECTTYPE FormSelectPulldown
- OBJECTTYPE FormSelectRadio
- OBJECTTYPE FormSelectRadioPulldownBase
- OBJECTTYPE FormSelectSingleBase
- OBJECTTYPE FormTextArea
- OBJECTTYPE FormTextEdit
- OBJECTTYPE FormThankYouPage
- OBJECTTYPE FormTime
- STRING ARRAY FUNCTION GetFormSelectSupportedValues(RECORD field)
- STRING ARRAY FUNCTION GetFormTextEditSupportedValues(RECORD field)
- OBJECTTYPE ImgEditField
- OBJECTTYPE NumericTextEditField
- RECORD FUNCTION ParseFormAddress(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormArray(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormCheckbox(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormDate(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormEmail(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormGroup(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormPassword(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormRichText(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormRTD(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormSelect(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormTextArea(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormTextedit(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormTime(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseFormUpload(RECORD fielddef, OBJECT node, RECORD parsecontext)
- OBJECTTYPE RichText
- OBJECTTYPE RichTextField
- OBJECTTYPE RTDField
- OBJECTTYPE SelectField
- OBJECTTYPE TextAreaField
- OBJECTTYPE TextEditField
- OBJECTTYPE TextEditFieldBase
- OBJECTTYPE TimeField
- OBJECTTYPE UploadField
- Form component <address>
- Form component <array>
- Form component <captcha>
- Form component <checkbox>
- Form component <customfield>
Custom fields are used for manually added one-off form field definitions. Use this if you don't want to set up an XSD for this field and don't need any XML configurability or support in the form editor.
- Form component <date>
- Form component <group>
- Form component <hidden>
- Form component <imgedit>
- Form component <page>
- Form component <page>
- Form component <page>
- Form component <password>
- Form component <richtext>
- Form component <rtd>
- Form component <select>
- Form component <select>
- Form component <select>
- Form component <textarea>
- Form component <textedit>
- Form component <textedit>
- Form component <textedit>
- Form component <time>
- Form component <upload>
Standard form handlers
- OBJECTTYPE Attachments
- DATETIME FUNCTION GetMailtaskScheduleDate(DATETIME now, INTEGER mailwaitdays, STRING mailwaittimezone, INTEGER mailwaitat)
- OBJECT FUNCTION InitializeStoreResultsHandler(OBJECT form, INTEGER formid)
- OBJECTTYPE MailConfirmationEditor
- OBJECTTYPE MailConfirmationHandler
- OBJECTTYPE MailConfirmationTask
- OBJECTTYPE MailConfirmFeedbackEditorBase
- OBJECTTYPE MailFeedbackEditor
- OBJECTTYPE MailFeedbackHandler
- OBJECTTYPE MailFeedbackTask
- OBJECTTYPE MailResultsEditor
- OBJECTTYPE MailResultsHandler
- OBJECTTYPE MailResultsTask
- RECORD FUNCTION ParseMailConfirmationHandler(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseMailFeedbackHandler(RECORD fielddef, OBJECT node, RECORD parsecontext)
- RECORD FUNCTION ParseMailResultsHandler(RECORD fielddef, OBJECT node, RECORD parsecontext)
- INTEGER FUNCTION ParseXMLTime24H(STRING intime)
- STRING FUNCTION ResolveMailTemplate(RECORD settings, OBJECT formdefinitions)
- OBJECTTYPE SelectWittyField
- OBJECTTYPE StoreResultsHandler
- Form handler <customhandler>
Custom handlers are used for manually added one-off form handler definitions. Use this if you don't want to set up an XSD for this handler and don't need any XML configurability or support in the form editor.
- Form handler <mailconfirmationhandler>
- Form handler <mailfeedbackhandler>
- Form handler <mailresultshandler>