Skip to content

# AutoConnectElements API

## AutoConnectButton

### Constructor

    AutoConnectButton(const char* name = "", const char* value = "", const String& action = String(), const ACPosterior_t post = AC_Tag_None)

Parameters
  nameThe element name.
  valueValue of the element.
  actionNative code of the action script executed when the button is clicked.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### action

HTML native code of the action script to be executed when the button is clicked. It is mostly used with a JavaScript to activate a script.1

Type
  String

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### name

The element name.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### value

Value of the element.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Button

## AutoConnectCheckbox

### Constructor

      explicit AutoConnectCheckboxBasis(const char* name = "", const char* value = "", const char* label = "", const bool checked = false, const ACPosterior_t post = AC_Tag_BR)

Parameters
  nameThe element name.
  valueValue of the element.
  labelA label string prefixed to the checkbox.
  checkChecked state of the checkbox.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### checked

It indicates the checked status of the checkbox. The value of the checked checkbox element is packed in the query string and sent by submit.

Type
  Boolean

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### label

A label is an optional string. A label is always arranged on the right side of the checkbox. Specification of a label will generate an HTML `<label>` tag with an `id` attribute. The checkbox and the label are connected by the id attribute.

Type
  String

#### name

The element name.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### value

Value of the element. It becomes a value attribute of an HTML `<input type="checkbox">` tag.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Checkbox

## AutoConnectElement

### Constructor

    AutoConnectElement(const char* name = "", const char* value = "", const ACPosterior_t post = AC_Tag_None)

Parameters
  nameThe element name.
  valueValue of the element.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### name

The element name.

Type
  String

#### value

Value of the element. It is output as HTML as it is as a source for generating HTML code.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Element

#### as<T>

    AutoConnectElement& as<T>(void)

Casts the reference to the AutoConnectElement the specified type.

Parameter
  TThe element type. AutoConnectElements type such as AutoConnectButton, AutoConnectCheckbox, AutoConnectFile, AutoConnectInput, AutoConnectRadio, AutoConnectSelect, AutoConnectStyle,AutoConnectSubmit, AutoConnectText.
Return value
  A reference to the AutoConnectElement with actual type.

## AutoConnectFile

### Constructor

    AutoConnectFile(const char* name = "", const char* value = "", const char* label = "", const ACFile_t store = AC_File_FS, const ACPosterior_t post = AC_Tag_BR)

Parameters
  nameThe element name.
  valueFile name to be upload.
  labelLabel string.
  storeThe ACFile_t enumerator that represents the media to save the uploaded file.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### label

A label is an optional string. A label is always arranged on the left side of the file input box. Specification of a label will generate an HTML `<label>` tag with an id attribute. The file input box and the label are connected by the id attribute.

Type
  String

#### mimeType

The mime type of the upload file which included as Media type in the http post request. Set by the client (usually the browser) that requested the upload. It is determined by the file type as `application/octet-stream`, `text` etc. which is described in IANA Media Type.

Type
  String

#### name

The element name.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### size

Size of the uploading file.

Type
  size_t

#### store

Specifies the save destination of the uploaded file. You can use the built-in uploader to save uploaded file to the flash of the ESP8266/ESP32 module or external SD media without writing a dedicated sketch code. It also supports saving to any destination using a custom uploader that inherits from the AutoConnectUploadHandler class.

Type
  ACFile_t
  - `AC_File_FS` : Save the uploaded file to SPIFFS in the flash.
  - `AC_File_SD` : Save the uploaded file to SD.
  - `AC_File_Extern` : Save the file using your own upload handler.

#### value

File name to be upload. The value contains the value entered by the client browser to the `<input type="file">` tag and is read-only.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectFile.

Return value
  AC_File

## AutoConnectInput

### Constructor

    AutoConnectInput(const char* name = "", const char* value = "", const char* label = "", const char* pattern = "", const char* placeholder = "", const ACPosterior_t post = AC_Tag_BR)

Parameters
  nameThe element name.
  valueValue of the element.
  labelLabel string.
  patternRegular expression string for checking data format.
  placeholderA placeholder string.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### label

A label is an optional string. A label is always arranged on the left side of the input box. Specification of a label will generate an HTML `<label>` tag with an id attribute. The input box and the label are connected by the id attribute.

Type
  String

#### name

The element name.

Type
  String

#### value

Value of the element. It becomes a value attribute of an HTML `<input type="text">` tag. An entered text in the custom Web page will be sent with a query string of the form. The value set before accessing the page is displayed as the initial value.

Type
  String

#### pattern

A pattern specifies a regular expression that the input-box's value is checked against on form submission.

Type
  String

#### placeholder

A placeholder is an option string. Specification of a placeholder will generate a `placeholder` attribute for the input tag.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

### Public member functions

#### isValid

    bool isValid(void)

Evaluate the pattern as a regexp and return whether value matches. Always return true if the pattern is undefined.

Return value
  trueThe value matches a pattern.
  falseThe value does not match a pattern.

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Input

## AutoConnectRadio

### Constructor

    AutoConnectRadio(const char* name = "", std::vector<String> const& values = {}, const char* label = "", const ACArrange_t order = AC_Vertical, const uint8_t checked = 0, const ACPosterior_t post = AC_Tag_BR)

Parameters
  nameThe element name.
  valuesAn array of values of the radio buttons. Specifies a std::vector object.
  labelLabel string.
  orderThe direction to arrange the radio buttons.
  checkedAn index to be checked in the radio buttons.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### checked

Specifies the index number (1-based) of the values to be checked. If this parameter is not specified neither item is checked.

Type
  uint8_t

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### label

A label is an optional string. A label will be arranged in the left or top of the radio buttons according to the order.

Type
  String

#### name

The element name.

Type
  String

#### order

Specifies the direction to arrange the radio buttons. A label will place in the left or the top according to the order. It is a value of ACArrange_t type and accepts one of the following:

Type
  ACArrange_t
  - `AC_Horizontal` : Horizontal arrangement.
  - `AC_Vertical` : Vertical arrangement.

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### values

An array of String type for the radio button options. It is an initialization list can be used. The `<input type="radio">` tags will be generated from each entry in the values.

Type
  std::vector<String>

### Public member functions

#### add

    void add(const String& value)

Adds an option for the radio button.

Parameter
  valueAn option string to add to the radio button.

#### check

    void check(const String& value)

Indicates the check of the specified option for the radio buttons. You can use the check function for checking dynamically with arbitrary of the radio button.

Parameter
  valueAn option string to be checked.

#### empty

    void empty(const size_t reserve = 0)

Clear the array of option strings that AutoConnectRadio has in the values. When the reserve parameter is specified, a vector container of that size is reserved.

The empty function resets the checked value to zero. When the empty function is executed, any button will be turned off.

Parameter
  reserveReserved size of a container for the radio button option strings.

#### operator [ ]

    const String& operator[] (const std::size_t n)

Returns a value string of the index specified by n.

Parameter
  nIndex of values array to return. Its base number is 0.
Return value
  A reference of a value string indexed by the specified the n.

#### size

    size_t size(void)

Returns number of options which contained.

Return value
  Number of options which contained.

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Radio

#### value

      const String& value(void) const

Returns current checked option of the radio buttons.

Return value
  A String of an option current checked. If there is no checked option, a null string returned.

## AutoConnectSelect

### Constructor

    AutoConnectSelect(const char* name = "", std::vector<String> const& options = {}, const char* label = "", const uint8_t selected = 0, const ACPosterior_t post = AC_Tag_BR)

Parameters
  nameThe element name.
  optionsAn array of options of the select element. Specifies a std::vector object.
  labelLabel string.
  selectedAn option should be pre-selected when the page loads.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### name

The element name.

Type
  String

#### label

A label is an optional string. A label will be arranged in the top of the selection list.

Type
  String

#### options

An array of String type for the selection options. It is an initialization list can be used. The `<option value>` tags will be generated from each entry in the options.

Type
  std::vector<String>

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### selected

A `selected` is an optional value. Specifies 1-based index value of an options array that an option should be pre-selected when the page loads.

Type
  uint8_t

### Public member functions

#### add

    void add(const String& option)

Adds a selectable option string for the selection list.

Parameter
  optionA string of selectable item to be contained in the select element.

#### empty

    void empty(const size_t reserve = 0)

Clear the array of options list that AutoConnectSelect has in the options. When the reserve parameter is specified, a vector container of that size is reserved.

The empty function resets the selected value to zero. When the empty function is executed, there are no selected options and the first item is placed at the beginning.

Parameter
  reserveReserved size of a container for the options.

#### operator [ ]

    const String& operator[] (const std::size_t n)

Returns an option string of the index specified by n.

Parameter
  nIndex of options array to return. Its base number is 0.
Return value
  A reference of a option string indexed by the specified the n.

#### select

    void  select(const String& value);

Selects an option with the value.

Parameter
  valueString value that option should be selected in an option array.

#### size

    size_t size(void)

Returns number of options which contained.

Return value
  Number of options which contained.

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Select

#### value

    const String& value(void) const;

Returns current selected option of the select list.

Return value
  A String of an option current selected. If there is no select option, a null string returned.

## AutoConnectStyle

### Constructor

    AutoConnectStyle(const char* name = "", const char* value = "")

Parameters
  nameThe element name.
  valueRaw CSS code to insert into a style block in a custom web page to generate.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### name

The element name.

Type
  String

#### value

Raw CSS code to insert into a style block in a custom web page to generate.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Style

## AutoConnectSubmit

### Constructor

    AutoConnectSubmit(const char* name = "", const char* value ="", char* uri = "", const ACPosterior_t post = AC_Tag_None)

Parameters
  nameThe element name.
  valueThe name of the submit button as an HTML `<input type="button">` tag, it will also be the label of the button.
  uriDestination URI.
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### name

The element name.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### uri

Destination URI.

Type
  String

#### value

The name of the submit button. It will also be the label of the button.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Submit

## AutoConnectText

### Constructor

    AutoConnectText(const char* name = "", const char* value = "", const char* style = "", const char* format = "", const ACPosterior_t post = AC_Tag_None)

Parameters
  nameThe element name.
  valueString of content for the text element.
  styleA style code with CSS format that qualifiers the text.
  formatA pointer to a null-terminated multibyte string specifying how to interpret the value. It specifies the conversion format when outputting values. The format string conforms to C-style printf library functions
  postSpecifies the tag to be output afterward the element.

### Public member variables

#### enable

Enable HTML tag generation for the element. AutoConnect will generate the element into HTML only if the enable attribute is true.

Type
  boolean

#### format

The conversion format when outputting values. The format string conforms to C-style printf library functions.

Type
  String

#### name

The element name.

Type
  String

#### post

Specifies a tag to add behind the HTML code generated from the element.

Type
  ACPosterior_t
  - `AC_Tag_None` : No generate additional tags.
  - `AC_Tag_BR` : Add a `<br>` tag to the end of the element.
  - `AC_Tag_P` : Include the element in the `<p> ~ </p>` tag.

#### style

A style code with CSS format that qualifiers the text.

Type
  String

#### value

A content string of the text element.

Type
  String

### Public member functions

#### typeOf

    ACElement_t typeOf(void)

Returns type of AutoConnectElement.

Return value
  AC_Text

1. JavaScript can be inserted into a custom Web page using AutoConnectElement. ↩