2018-10-12 15:37:13 -04:00
---
title: Form Inputs
---
## Form Inputs
Bootstrap supports the following form controls:
1. input
2. textarea
3. checkbox
4. radio
5. select
2019-04-17 17:00:28 +05:30
6. range
2018-10-12 15:37:13 -04:00
## Example Code Snippets
#### 1. Input
Bootstrap supports all the HTML5 input types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.
**Note: Inputs will NOT be fully styled if their type is not properly declared!**
The following example contains two input elements; one of type text and one of type password:
```html
< div class = "form-group" >
< label for = "usr" > Name:< / label >
< input type = "text" class = "form-control" id = "usr" >
< / div >
< div class = "form-group" >
< label for = "pwd" > Password:< / label >
< input type = "password" class = "form-control" id = "pwd" >
< / div >
```
#### 2. Textarea
The following example contains a textarea:
```html
< div class = "form-group" >
< label for = "comment" > Comment:< / label >
< textarea class = "form-control" rows = "5" id = "comment" > < / textarea >
< / div >
```
#### 3. Checkboxes
Checkboxes are used if you want the user to select any number of options from a list of preset options.
The following example contains three checkboxes. The last option is disabled:
```html
< div class = "checkbox" >
< label >
< input type = "checkbox" value = "" > Option 1< / label >
< / div >
< div class = "checkbox" >
< label >
< input type = "checkbox" value = "" > Option 2< / label >
< / div >
< div class = "checkbox disabled" >
< label >
< input type = "checkbox" value = "" disabled > Option 3< / label >
< / div >
```
Use the ** .checkbox-inline** class if you want the checkboxes to appear on the same line:
```html
< label class = "checkbox-inline" > < input type = "checkbox" value = "" > Option 1< / label >
< label class = "checkbox-inline" > < input type = "checkbox" value = "" > Option 2< / label >
< label class = "checkbox-inline" > < input type = "checkbox" value = "" > Option 3< / label >
```
#### 4. Radio Buttons
Radio buttons are used if you want to limit the user to just one selection from a list of preset options.
The following example contains three radio buttons. The last option is disabled:
```html
< div class = "radio" >
< label > < input type = "radio" name = "optradio" > Option 1< / label >
< / div >
< div class = "radio" >
< label > < input type = "radio" name = "optradio" > Option 2< / label >
< / div >
< div class = "radio disabled" >
< label > < input type = "radio" name = "optradio" disabled > Option 3< / label >
< / div >
```
Use the ** .radio-inline** class if you want the checkboxes to appear on the same line:
```html
< label class = "radio-inline" > < input type = "radio" name = "optradio" > Option 1< / label >
< label class = "radio-inline" > < input type = "radio" name = "optradio" > Option 2< / label >
< label class = "radio-inline" > < input type = "radio" name = "optradio" > Option 3< / label >
```
#### 5. Select (List)
Select lists are used if you want to allow the user to pick from multiple options.
The following example contains a dropdown list (select list):
```html
< div class = "form-group" >
< label for = "sel1" > Select list:< / label >
< select class = "form-control" id = "sel1" >
< option > 1< / option >
< option > 2< / option >
< option > 3< / option >
< option > 4< / option >
< / select >
< / div >
```
2019-04-17 17:00:28 +05:30
#### 6. Range
Select lists are used if you want to allow the user to pick from multiple options.
The following example contains a dropdown list (select list):
```html
< form >
< div class = "form-group" >
< label for = "formControlRange" > Example Range input< / label >
< input type = "range" class = "form-control-range" id = "formControlRange" >
< / div >
< / form >
```
2018-10-12 15:37:13 -04:00
## How to make Bootstrap Inputs Accessible
Input fields should have labels or some other form of identifier such as WAI-ARIA tags to meet the Web
Content Accessibility Guidelines or [WCAG ](https://www.w3.org/WAI/tutorials/forms/ ) for short. In order
for screen readers to accurately convey to a user what labels are associated with which inputs the labels
should reference the corresponding input.
This can be done by utlizing the `for` parameter in the HTML:
```html
< label for = "email-input" > Enter Email< / label >
< input type = "email" class = "form-control" id = "email-input" placeholder = "Enter Email" >
```
The label `for` attribute **always** references the input field by its **ID** . This tells the screen reader
that this label is definitely for this input field which will minimize confusion for any users who are using
2019-05-19 12:01:10 -07:00
a screen reader to visit a web site. In the above example, if a user clicks on the actual word "Enter email", then the user will be able to type. If the 'for' attribute was not attached to the label, then if a user clicks on the words 'Enter email,' nothing would happen. The user would have to click on the actual email input field to be able to type.
2018-10-12 15:37:13 -04:00
2019-04-17 17:00:28 +05:30
### More Informations:
[Forms - Bootstrap ](https://getbootstrap.com/docs/4.1/components/forms/ )
2018-10-12 15:37:13 -04:00
Code examples are from [W3Schools - Bootstrap Form Inputs ](https://www.w3schools.com/bootstrap/bootstrap_forms_inputs.asp ).