HTML <form> element is used to define form element.
HTML Forms are used to collect information from user.
Collected information are then submitted to server for further processing like saving in Database.
Form can contain multiple elements like text fields, textarea fields, drop-down menus, radio buttons, checkboxes, etc.
<form action="SubmitURL" method="POST"> form elements like input, textarea etc. </form>
Attribute | Description |
---|---|
action | Defines url where form information is sent. |
method | Method to be used to upload data like GET and POST methods. |
target | Specify the target window or frame where the result will be displayed. It takes values like _blank, _self, _parent etc. |
enctype |
You can use the enctype attribute to specify how the browser encodes the data before it sends it to the server.
|
There are different types of form controls that you can use to collect data using HTML form:
Text Input Controls
Checkboxes Controls
Radio Box Controls
Select Box Controls
File Select boxes
Hidden Controls
Clickable Buttons
Submit and Reset Button
There are three types of text input used on forms:
Single-line text input controls
Password input controls
Multi-line text input controls
This control is used for items that require only one line of user input, such as search boxes or names.
It is defined using HTML <input> tag.
Here is a basic example of a single-line text input used to take first name and last name:
<!DOCTYPE html> <html> <head> <title>Text Input Control</title> </head> <body> <form > First name: <input type="text" name="firstname" /> <br> Last name: <input type="text" name="lastname" /> </form> </body> </html>
Following is the list of attributes for <input> tag for creating text field.
Attribute | Description |
---|---|
type | Indicates the type of input control and for text input control it will be set to text. |
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
value | This can be used to provide an initial value inside the control. |
size | Allows to specify the width of the text-input control in terms of characters. |
maxlength | Allows to specify the maximum number of characters a user can enter into the text box. |
This is also a single-line text input but it masks the character as soon as a user enters it.
They are also created using HTML <input> tag but type attribute is set to password.
<!DOCTYPE html> <html> <head> <title>Password Input Control</title> </head> <body> <form > User ID : <input type="text" name="userid" /> <br> Password: <input type="password" name="password" /> </form> </body> </html>
Following is the list of attributes for <input> tag for creating password field.
Attribute | Description |
---|---|
type | Indicates the type of input control and for password input control it will be set to password. |
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
value | This can be used to provide an initial value inside the control. |
size | Allows to specify the width of the text-input control in terms of characters. |
maxlength | Allows to specify the maximum number of characters a user can enter into the text box. |
This is used when the user is required to give details that may be longer than a single sentence.
Multi-line input controls are created using HTML <textarea> tag.
<!DOCTYPE html> <html> <head> <title>Multiple-Line Input Control</title> </head> <body> <form> Description : <br /> <textarea rows="5" cols="50" name="description"> Enter description here... </textarea> </form> </body> </html>
Following is the list of attributes for <textarea> tag.
Attribute | Description |
---|---|
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
rows | Indicates the number of rows of text area box. |
cols | Indicates the number of columns of text area box |
Checkboxes are used when more than one option is required to be selected.
They are created using HTML <input> tag and attribute type is set to checkbox.
<!DOCTYPE html> <html> <head> <title>Checkbox Control</title> </head> <body> <form> <input type="checkbox" name="Apple" value="on"> Apple <input type="checkbox" name="Banana" value="on"> Banana </form> </body> </html>
Following is the list of attributes for <checkbox> tag.
Attribute | Description |
---|---|
type | Indicates the type of input control and for checkbox input control it will be set to checkbox. |
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
value | The value that will be used if the checkbox is selected. |
checked | Set to checked if you want to select it by default. |
Radio buttons are used when out of many options, just one option is required to be selected.
They are also created using HTML <input> tag but type attribute is set to radio.
Here is example HTML code for a form with two radio buttons:
<!DOCTYPE html> <html> <head> <title>Radio Box Control</title> </head> <body> <form> <input type="radio" name="subject" value="Male"> Male <input type="radio" name="subject" value="Female"> Female </form> </body> </html>
Following is the list of attributes for radio button.
Attribute | Description |
---|---|
type | Indicates the type of input control and for checkbox input control it will be set to radio. |
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
value | The value that will be used if the radio box is selected. |
checked | Set to checked if you want to select it by default. |
Select control allows to choose one option from multiple option in drop down control.
It is defined using <select> element.
<!DOCTYPE html> <html> <head> <title>Select Box Control</title> </head> <body> <form> <select name="dropdown"> <option value="apple" selected>Apple</option> <option value="banana">Banana</option> </select> </form> </body> </html>
Following is the list of important attributes of <select> tag:
Attribute | Description |
---|---|
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
size | This can be used to present a scrolling list box. |
multiple | If set to "multiple" then allows a user to select multiple items from the menu. |
Following is the list of important attributes of <option> tag:
Attribute | Description |
---|---|
value | The value that will be used if an option in the select box box is selected. |
selected | Specifies that this option should be the initially selected value when the page loads. |
label | An alternative way of labeling options |
This is used to upload a file.
It is defined using <input> tag and type is "file".
Here is example HTML code for a form with one file upload box:
<!DOCTYPE html> <html> <head> <title>File Upload Box</title> </head> <body> <form> <input type="file" name="fileupload" accept="image/*" /> </form> </body> </html>
Following is the list of important attributes of file upload box:
Attribute | Description |
---|---|
name | Used to give a name to the control which is sent to the server to be recognized and get the value. |
accept | Specifies the types of files that the server accepts. |
Button can be defined using <input> tag by setting its type attribute to button.
The type attribute can take the following values:
Type | Description |
---|---|
submit | This creates a button that automatically submits a form. |
reset | This creates a button that automatically resets form controls to their initial values. |
button | This creates a button that is used to trigger a client-side script when the user clicks that button. |
image | This creates a clickable button but we can use an image as background of the button. |
<!DOCTYPE html> <html> <head> <title>File Upload Box</title> </head> <body> <form> <input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /> <input type="button" name="ok" value="OK" /> <input type="image" name="imagebutton" src="/images/html/button.jpg" /> </form> </body> </html>
Hidden form controls are used to hide data inside the page which later on can be pushed to the server.
This control hides inside the code and does not appear on the actual page.
<!DOCTYPE html> <html> <head> <title>File Upload Box</title> </head> <body> <form> <p>This is page 10</p> <input type="hidden" name="pagename" value="10" /> <input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /> </form> </body> </html>