# TextBox

(part of package '[Bootstrap Components](/reference/servoyextensions/packages/ui-component-packages/bootstrap-components.md)')\
Extends designtime/SolutionModel: [JSWebComponent](/reference/servoycore/dev-api/solutionmodel/jswebcomponent.md)\
Extends runtime: [RuntimeWebComponent](/reference/servoycore/dev-api/forms/runtimeform/elements/runtimewebcomponent.md)

TextBox is a text input component styled with Bootstrap. It allows users to enter single-line text values.\
The component supports various input types (e.g. text, password, email, etc.) and includes features such as autocomplete and error messaging.

This is a reference page; many components have detailed usage guides [here](https://docs.servoy.com/guides/develop/application-design/ui-components).

## Properties

### autocomplete

Html autocomplete property of the input field. Type: [String](/reference/servoycore/dev-api/js-lib/string.md) Default Value: "off"

***

### dataProviderID

Bound data provider identifier for the text field value. Type: [Dataprovider](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)

***

### editable

Flag indicating whether the text box is editable. Type: [Protected](/reference/servoy-developer/component_and_service_property_types.md#protected) Default Value: true

***

### enabled

Flag indicating whether the text box is enabled for user interaction. Type: [Enabled](/reference/servoy-developer/component_and_service_property_types.md#protected) Default Value: true

***

### format

Format string used to display and parse the text box value. Type: [Format](/reference/servoy-developer/component_and_service_property_types.md#format)

***

### inputType

The type of input for the text field (e.g. text, password, email, tel, etc.). Type: [String](/reference/servoycore/dev-api/js-lib/string.md) Default Value: "text"

***

### placeholderText

Placeholder text displayed when the text box is empty. Type: [Tagstring](/reference/servoy-developer/component_and_service_property_types.md#tagstring)

***

### selectOnEnter

Indicates whether the text box content should be automatically selected when the field gains focus. Type: [Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)

***

### styleClass

Set the styleclasses that should be applied at to this component Type: [Styleclass](/reference/servoy-developer/component_and_service_property_types.md#styleclass) Default Value: "form-control"

***

### styleClassForEye

Set the styleclasses for the eye when inputType on this component is password-with-eye, you need to add main(not manadatory), eye and eye-slash classes in this order, default value for NG is 'glyphicon glyphicon-eye-open glyphicon-eye-close' and for TiNG 'fa fa-eye fa-eye-slash' Type: [Styleclass](/reference/servoy-developer/component_and_service_property_types.md#styleclass)

***

### tabSeq

Tab sequence order for keyboard navigation. Type: [Tabseq](/reference/servoy-developer/component_and_service_property_types.md#tabseq)

***

### toolTipText

Tooltip text displayed when hovering over the text box. Type: [Tagstring](/reference/servoy-developer/component_and_service_property_types.md#tagstring)

***

### visible

Whether the button is visible or not Type: [Visible](/reference/servoy-developer/component_and_service_property_types.md#visible)

***

## Events

### onActionMethodID(event)

Fired when the text box action is triggered (for example, when the Enter key is pressed).

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the action event e.g. target element, key pressed

***

### onDataChangeMethodID(oldValue,newValue,event)

Handle changed data, return false if the value should not be accepted.\
JSEvent.data will contain extra information about dataproviderid, its scope and the scope id (record datasource or form/global variable scope)

**Parameters:**

> * {[${dataproviderType}](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)} oldValue The previous value from the data provider
> * {[${dataproviderType}](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)} newValue The new value to be set in the data provider
> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object associated with the data change

**Returns:** {[Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)}

***

### onFocusGainedMethodID(event)

Fired when the text box gains focus.

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the focus gained event e.g. target element, timestamp

***

### onFocusLostMethodID(event)

Fired when the text box loses focus.

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the focus lost event e.g. target element, timestamp

***

### onRightClickMethodID(event)

Fired when the text box is right-clicked.

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the right-click event e.g. target element, mouse coordinates

***

## API

### requestFocus(mustExecuteOnFocusGainedMethod)

Request the focus to this text field.

**Example:**

```js
myElement.requestFocus();
```

**Parameters:**

> * {[Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)} \[mustExecuteOnFocusGainedMethod] If false will not execute the onFocusGained method; the default value is true

***

### setInputType(inputType)

Reset the dataProvider to null and change the inputType of the textbox.\
**Note:** the value of the dataProvider bound to this field will be automatically set to null

**Example:**

```js
myElement.inputType("tel");
```

**Parameters:**

> * {[String](/reference/servoycore/dev-api/js-lib/string.md)} inputType Allowed values for inputType are *text, password, email, tel, date, time, datetime-local, month, week, number, color*

**Returns:** [Boolean](/reference/servoycore/dev-api/js-lib/boolean.md) True if the inputType was successfully changed and the dataProvider was reset to null; false otherwise.

***

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.servoy.com/reference/servoyextensions/ui-components/input-control/textbox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
