HTML Form

HTML Form Tutorials

1. HTML Form

An HTML form is a section of a document which contains controls such as text fields, password fields, checkboxes, radio buttons, submit button, menus etc.

An HTML form facilitates the user to enter data that is to be sent to the server for processing such as name, email address, password, phone number, etc. .

2. Why use HTML Form

HTML forms are required if you want to collect some data from the site visitor.

For example: If a user wants to purchase some items on the internet, he/she must fill the form such as shipping address and credit/debit card details so that the item can be sent to the given address.

3. HTML Form Syntax

  1. <form action="server url" method="get|post">  
  2.   //input controls e.g. textfield, textarea, radiobutton, button  
  3. </form>  

4. HTML Form Tags

Let's see the list of HTML 5 form tags.

Tag Description
<form> It defines an HTML form to enter inputs by the used side.
<input> It defines an input control.
<textarea> It defines a multi-line input control.
<label> It defines a label for an input element.
<fieldset> It groups the related element in a form.
<legend> It defines a caption for a <fieldset> element.
<select> It defines a drop-down list.
<optgroup> It defines a group of related options in a drop-down list.
<option> It defines an option in a drop-down list.
<button> It defines a clickable button.

5. HTML 5 Form Tags

Let's see the list of HTML 5 form tags.

Tag Description
<datalist> It specifies a list of pre-defined options for input control.
<keygen> It defines a key-pair generator field for forms.
<output> It defines the result of a calculation.

6. HTML <form> element

The HTML <form> element provide a document section to take input from user. It provides various interactive controls for submitting information to web server such as text field, text area, password field, etc.

7. Syntax:

  1. <form>  
  2. //Form elements  
  3. </form>  

8. HTML <input> element

The HTML <input> element is fundamental form element. It is used to create form fields, to take input from user. We can apply different input filed to gather different information form user. Following is the example to show the simple text input.

9. Example:

  1. <body>  
  2.   <form>  
  3.      Enter your name  <br>  
  4.     <input type="text" name="username">  
  5.   </form>  
  6. </body>  

10. Output:

11. HTML TextField Control

The type="text" attribute of input tag creates text field control also known as single-line text field control. The name attribute is optional, but it is required for the server-side component such as JSP, ASP, PHP etc

  1. <form>  
  2.     First Name: <input type="text" name="firstname"/> <br/>  
  3.     Last Name:  <input type="text" name="lastname"/> <br/>  
  4.  </form>  

12. Output:

13. HTML <textarea> tag in form

The <textarea> tag in HTML is used to insert multiple-line text in a form. The size of <textarea> can be specify either using "rows" or "cols" attribute or by CSS.

14. Example:

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <title>Form in HTML</title>  
  5. </head>  
  6. <body>  
  7.   <form>  
  8.         Enter your address:<br>  
  9.       <textarea rows="2" cols="20"></textarea>  
  10.   </form>  
  11. </body>  
  12. </html>  

15. Output:

16. Label Tag in Form

It is considered better to have labels in form. As it makes the code parser/browser/user-friendly.

If you click on the label tag, it will focus on the text control. To do so, you need to have for the attribute in the label tag that must be the same as the id attribute of the input tag.

  1. <form>  
  2.     <label for="firstname">First Name: </label> <br/>  
  3.               <input type="text" id="firstname" name="firstname"/> <br/>  
  4.    <label for="lastname">Last Name: </label>  
  5.               <input type="text" id="lastname" name="lastname"/> <br/>  
  6.  </form>  

 

17. Output:

18. HTML Password Field Control

The password is not visible to the user in password field control.

 
  1. <form>  
  2.     <label for="password">Password: </label>  
  3.               <input type="password" id="password" name="password"/> <br/>  
  4. </form>  

19. Output:

20. HTML 5 Email Field Control

The email field in new in HTML 5. It validates the text for the correct email address. You must use @ and . in this field.

 
  1. <form>  
  2.     <label for="email">Email: </label>  
  3.               <input type="email" id="email" name="email"/> <br/>  
  4. </form>  

21. Output:

22. Radio Button Control

The radio button is used to select one option from multiple options. It is used for selection of gender, quiz questions etc.

If you use one name for all the radio buttons, only one radio button can be selected at a time.

Using radio buttons for multiple options, you can only choose a single option at a time.

 
  1. <form>  
  2.     <label for="gender">Gender: </label>  
  3.               <input type="radio" id="gender" name="gender" value="male"/>Male  
  4.               <input type="radio" id="gender" name="gender" value="female"/>Female <br/>  
  5. </form>  

23. Output:

24. Checkbox Control

The checkbox control is used to check multiple options from given checkboxes.

 
  1. <form>  
  2. Hobby:<br>  
  3.               <input type="checkbox" id="cricket" name="cricket" value="cricket"/>  
  4.                  <label for="cricket">Cricket</label> <br>  
  5.               <input type="checkbox" id="football" name="football" value="football"/>  
  6.                  <label for="football">Football</label> <br>  
  7.               <input type="checkbox" id="hockey" name="hockey" value="hockey"/>  
  8.                  <label for="hockey">Hockey</label>  
  9. </form>  

25. Output:

26. Submit button control

HTML <input type="submit"> are used to add a submit button on web page. When the user clicks on the submit button, then form get submitted to the server.

Syntax:

 

          <input type="submit" value="submit">  

The type = submit , specifying that it is a submit button

The value attribute can be anything which we write on button on web page.

The name attribute can be omitted here.

27. Example:

  1. <form>  
  2.     <label for="name">Enter name</label><br>  
  3.     <input type="text" id="name" name="name"><br>  
  4.     <label for="pass">Enter Password</label><br>  
  5.     <input type="Password" id="pass" name="pass"><br>  
  6.     <input type="submit" value="submit">  
  7. </form>  

28. Output:

29. HTML
element:

The <fieldset> element in HTML is used to group the related information of a form. This element is used with <legend> element which provide caption for the grouped elements.

30. Example:

<form> 
     <fieldset>  
      <legend>
User Information:</legend>  
    <label
for="name">Enter name</label><br>  
<input
type="text" id="name" name="name"><br>  
<label
for="pass">Enter Password</label><br>  
<input
type="Password" id="pass" name="pass"><br>  
<input
type="submit" value="submit">  
</fieldset>

</form>

31. Output:

32. HTML Form Example

Following is the example for a simple form of registration.

 
  1. <!DOCTYPE html>  
  2.  <html>  
  3.  <head>  
  4.   <title>Form in HTML</title>  
  5. </head>  
  6.  <body>  
  7.      <h2>Registration form</h2>  
  8.     <form>  
  9.      <fieldset>  
  10.         <legend>User personal information</legend>  
  11.         <label>Enter your full name</label><br>  
  12.         <input type="text" name="name"><br>  
  13.          <label>Enter your email</label><br>  
  14.          <input type="email" name="email"><br>  
  15.          <label>Enter your password</label><br>  
  16.          <input type="password" name="pass"><br>  
  17.          <label>confirm your password</label><br>  
  18.          <input type="password" name="pass"><br>  
  19.          <br><label>Enter your gender</label><br>  
  20.          <input type="radio" id="gender" name="gender" value="male"/>Male  <br>  
  21.          <input type="radio" id="gender" name="gender" value="female"/>Female <br/>    
  22.          <input type="radio" id="gender" name="gender" value="others"/>others <br/>   
  23.           <br>Enter your Address:<br>  
  24.          <textarea></textarea><br>  
  25.          <input type="submit" value="sign-up">  
  26.      </fieldset>  
  27.   </form>  
  28.  </body>  
  29. </html>  

33. Output:

34. HTML Form Example

Let's see a simple example of creating an HTML form.

 
  1. <form action="#">  
  2. <table>  
  3. <tr>  
  4.     <td class="tdLabel"><label for="register_name" class="label">Enter name:label>td>  
  5.     <td><input type="text" name="name" value="" id="register_name" style="width:160px"/>td>  
  6. <tr>  
  7. <tr>  
  8.     <td class="tdLabel"><label for="register_password" class="label">Enter password:</label>td>  
  9.     <td><input type="password" name="password" id="register_password" style="width:160px"/>td>  
  10. <tr>  
  11. <tr>  
  12.     <td class="tdLabel"><label for="register_email" class="label">Enter Email:</label><td>  
  13.     <td><input type="email" name="email" value="" id="register_email" style="width:160px"/>td>  
  14. <tr>  
  15. <tr>  
  16.     <td class="tdLabel"><label for="register_gender" class="label">Enter Gender:</label>td>  
  17.     <td>  
  18. <input type="radio" name="gender" id="register_gendermale" value="male"/>  
  19. <label for="register_gendermale">male</label>  
  20. <input type="radio" name="gender" id="register_genderfemale" value="female"/>  
  21. <label for="register_genderfemale">female</label>  
  22.     <td>  
  23. <tr>  
  24. <tr>  
  25.     <td class="tdLabel"><label for="register_country" class="label">Select Country:</label>td>  
  26.     <td><select name="country" id="register_country" style="width:160px">  
  27.     <option value="india">india</option>  
  28.     <option value="pakistan">pakistan</option>  
  29.     <option value="africa">africa</option>  
  30.     <option value="china">china</option>  
  31.     <option value="other">other</option>  
  32. </select>  
  33. </td>  
  34. </tr>  
  35. <tr>  
  36.     <td colspan="2"><div align="right"><input type="submit" id="register_0" value="register"/>  
  37. </div></td>  
  38. </tr>  
  39. </table>  
  40. </form>