03. Forms

Forms are used to handle user input, and allows the user to submit some information.

Forms are to be enclosed within a <form> tag, with an attribute "action", which points to the script that should be run when a form is submitted.

We don't yet have the tools to process the forms, but in later tutorials, we'll use a back-end server language to do so. :-)

Labels

Firstly, we need to make labels for our input fields, which we can with the <label> tag. We specify which form it's for with the "for" attribute, which is to match with the "id" in our <input> tag. Now when users click on the label, the focus is placed on the corresponding input.

Input Elements

HTML offers a variety of input elements that we can use to gather data from the user. We use the <input> element with a "type" attribute.

Additionally, we use the "name" attribute so that we can retrieve the input data once the form is handled. For a standard text box:

<input type="text" name="textbox">
Password box:
<input type="password" name="password">
Checkbox:
<input type="checkbox" checked>
Radio buttons:
<input type="radio">

After adding labels for each input field, your form should look somthing like this:

<form>
  <label for="firstName">First Name</label>
  <input type="text" name="firstName" id="firstName">
</form>

Text Area

For a bigger submission box, such as one where you put an "about me", we use the <textarea> tag. It's basically a large, multi-line textbox. The two attributes are "rows" and "cols", specifying the textbox dimensions.

Select Boxes

To make select boxes, use the <select> tag.

<select>
  <option>Banana</option>
  <option>Kiwi</option>
  <option>Applie</option>
  <option>Strawberry</option>
</select>

Select your favorite fruit from the following:

Grouping related objects within a select box

To group related objects within a drop-down menu, use <optgroup>

<select>
  <optgroup label="Swedish Cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
  </optgroup>
  <optgroup label="German Cars">
    <option value="mercedes">Mercedes</option>
    <option value="bmw">BMW</option>
  </optgroup>
</select>

Select a car:

Submit

And the most important input button, the submit!

<input type="submit">

After this button is clicked, the page is redirected to wherever the "action" attribute points to.

Build modern and responsive webpages

Responsive Typography

Build modern and responsive webpages Try Front-end

Responsive web design helps your site maintain its design integrity on a variety of screen sizes, but how does it affect your typography? With this practical book, graphic designers, web designers, and front-end developers alike will learn the nuts and bolts of how to get the best appearance from type without sacrificing performance on any device.

$ Check price
24.9924.99Amazon 4.5 logo(3+ reviews)

More Front-end resources

Aching back from coding all day?

Acupressure Mat & Pillow

Aching back from coding all day? Try Back Problems

Relieve your stress, back, neck and sciatic pain through 1,782 acupuncture points for immediate neck pain relief. Made for lower, upper and mid chronic back pain treatment, and improves circulation, sleep, digestion and quality of life.

$$ Check price
144.87144.87Amazon 4.5 logo(1,890+ reviews)

More Back Problems resources

Ad