Forms
HTML Forms are required when you want to collect some data from the site visitor. For example registration information: name, email address, credit card, etc.
A form will take input from the site visitor and then will post your back-end application such as CGI, ASP Script or PHP script etc. Then your back-end application will do required processing on that data in whatever way you like.
Form elements are like text fields, textarea fields, drop-down menus, radio buttons, checkboxes, etc. which are used to take information from the user.
A simple syntax of using <form> is as follows:
Most frequently used form attributes are:
name: This is the name of the form.
action: Here you will specify any script URL which will receive uploaded data.
method: Here you will specify method to be used to upload data. It can take various values but most frequently used are GET and POST.
target: It specifies the target page where the result of the script 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 from a visitor to your site.
Text input controls
Buttons
Checkboxes and radio buttons
Select boxes
File select boxes
Hidden controls
Submit and reset button
Text input controls
There are actually three types of text input used on forms:
Single-line text input controls: Used for items that require only one line of user input, such as search boxes or names. They are created using the <input> element.
Password input controls: Single-line text input that mask the characters a user enters.
Multi-line text input controls: Used when the user is required to give details that may be longer than a single sentence. Multi-line input controls are created with the <textarea> element.
Single-line text input controls
Single-line text input controls are created using an <input> element whose type attribute has a value of text.
Here is a basic example of a single-line text input used to take first name and last name:
<form action="/cgi-bin/hello_get.cgi" method="get"> First name: <input type="text" name="first_name" /> <br> Last name: <input type="text" name="last_name" /> <input type="submit" value="submit" /> </form>This will produce following result:
Following is the list of attributes for <input> tag.
type: Indicates the type of input control you want to create. This element is also used to create other form controls such as radio buttons and checkboxes.
name: Used to give the name part of the name/value pair that is sent to the server, representing each form control and the value the user entered.
value: Provides an initial value for the text input control that the user will see when the form loads.
size: Allows you to specify the width of the text-input control in terms of characters.
maxlength: Allows you to specify the maximum number of characters a user can enter into the text box.
Checkboxes control
Checkboxes are used when more than one option is required to be selected. They are created using <input> tag as shown below.
Here is example HTML code for a form with two checkboxes
<form action="http://www.tutorialspoint.com/cgi-bin/" method="get"> <input type="checkbox" name="maths" value="on"> Maths <input type="checkbox" name="physics" value="on"> Physics <input type="submit" value="Select Subject" /> </form>The result of this code is the following form
Following is the list of important checkbox attributes:
type: Indicates that you want to create a checkbox.
name: Name of the control.
value: The value that will be used if the checkbox is selected. More than one checkbox should share the same name only if you want to allow users to select several items from the same list.
checked: Indicates that when the page loads, the checkbox should be selected.
Radiobox control
Radio Buttons are used when only one option is required to be selected. They are created using <input> tag as shown below:
Here is example HTML code for a form with two radio button:
<form action="http://www.tutorialspoint.com/cgi-bin/radiobutton.cgi" method="post"> <input type="radio" name="subject" value="maths" /> Maths <input type="radio" name="subject" value="physics" /> Physics <input type="submit" value="Select Subject" /> </form>The result of this code is the following form
Following is the list of important radiobox attributes:
type: Indicates that you want to create a radiobox.
name: Name of the control.
value: Used to indicate the value that will be sent to the server if this option is selected.
checked: Indicates that this option should be selected by default when the page loads.
Select box control
Drop Down Box is used when we have many options available to be selected but only one or two will be selected..
Here is example HTML code for a form with one drop down box
<form action="/cgi-bin/dropdown.cgi" method="post"> <select name="dropdown"> <option value="Maths" selected>Maths</option> <option value="Physics">Physics</option> </select> <input type="submit" value="Submit" /> </form>The result of this code is the following form
Following is the list of important attributes of <select>:
name: This is the name for the control.
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>:
value: The value that is sent to the server if this option is selected.
selected: Specifies that this option should be the initially selected value when the page loads.
label: An alternative way of labeling options.
Submit and reset button
These are special buttons which can be created using <input> When submit button is clicked then Forms data is submitted to the back-end application. When reset button is clicked then all the forms control are reset to default state.
You already have seen submit button above, we will give one reset example here:
<form action="/cgi-bin/hello_get.cgi" method="get"> First name: <input type="text" name="first_name" /> <br> Last name: <input type="text" name="last_name" /> <input type="submit" value="Submit" /> <input type="reset" value="Reset" /> </form>This will produce following result. Type something and click reset button.