# Text Input

![](https://4185914948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSItjRhbHaLQ4ar3DUljt%2Fuploads%2Fgit-blob-bb097c9de7761e621a450d1c77443fbd6c36d9b9%2Ftext-input-web-control-v181-0.png?alt=media)

The Text Input Web Control inserts boxes that allow app users to input text data.

## General

### Control Properties

#### Placeholder Text

Expects type `text`.

The text that is displayed on the box before the app users enters text. This field expects text to be encapsulated by string quotes.

#### Aria Label

Expects type `text`.

Defines a value to the aria-label of the control for accessibility. For more information see [here](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html).

### Advanced Control Properties

#### Maximum Length

Expects type `number`.

Sets the maximum number of characters that can be inputted. The app user will not be able to type more than this number of characters. This field may accept an expression and expects a number.

#### Input Mode

Determines the input-style primarily on mobile devices.  For example, if **tel** is selected, most mobile devices will show only a number-pad to enter a phone number. Keep in mind, this does not strictly limit the type of characters that can be entered, use [Format](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode) for this enforcement .

#### Format

Determines the type of characters that can be inputted. For example, if **phone** is selected, only numerals can be entered. The selection of this field will also change the Type of data that the input box will expect and give the app builder specific options catered to the input type.  &#x20;

#### Prefix

Expects type `string`.

Adds a prefix to the beginning of the user's input.

#### No Immediate Prefix

Removes the prefix set under the **Prefix** field.&#x20;

#### Raw Value Trim prefix

Trims or removes the prefixed part of the string that has been entered in the **Prefix** field. This only removes the prefix within the variable where the input is stored, the app user will still see the prefix displayed.

#### Right Icon

Allows the display of icons to the right-hand-side of the input box.

#### Auto Complete

Determines whether the user's device is allowed to autocomplete the field.  Guidance can be provided to the app user's browsing environment by using one of the pre-determined autocomplete options such as **name** or **street-address**. For more information, see the [autocomplete attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).

### Data Binding

#### Value

Expects type `text`.

By default, a Variable of type [Text](https://support.airkit.com/v18.0/docs/working-with-text) is generated at the Web Page level to store the data from the input. Users can also edit the Data Binding property and create their own Variables.

### Style and Layout

The Text Variant has styles for the following states:

**Default** - When first rendered without state\
**Disabled** - When the Text Input is disabled\
**Focused** - when the Text Input is focused

Check [Common style properties of web controls](web-controls-overview/common-style-properties-of-web-controls) for further details on how to style your this Control.

## Actions

#### On Blur

Triggers when the user leaves the input field. That is, when changing the focus from the field to some other part of the application.

#### Value Changed

Triggers with each typed letter. That is, Value changes every time a key is pressed, unlike a [Checkbox](checkbox-web-control), where its Value changes when the box is selected.

#### On Enter

Triggers upon pressing Enter.

For more information, check out [Action Builder](../studio/action-builder) to find all the available action

## Advanced

### State

#### Is Visible

Expects type `boolean`.

If `TRUE` the text input will be visible. If `FALSE` the text input will not be displayed. If the field is empty, the text input will be visible.

#### Is Disabled

Expects type `boolean`.

If `TRUE` the text input will be disabled and the user will not be able to interact with the control. If `FALSE` the text input will be enabled. If the field is empty, the text input will be enabled.

## Example

Controlling what happens with the inputted data:

![organizing info](https://4185914948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSItjRhbHaLQ4ar3DUljt%2Fuploads%2Fgit-blob-674f9bfbe8f0f556481a2b60e2c56b6f6b11c7d8%2Ftext-input-web-control-v181-1.png?alt=media)

Data entered into text inputs need to be bound to a variable. By default, Airkit automatically creates a Text Variable for the inputted data to be stored which can be seen within **Inspector > Data Binding**.

In this example, a `text_input` variable has been created which can be used to pass data across web pages, events, data flows and more.
