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.

Aching back from coding all day?

Foam Seat Cushion

Aching back from coding all day? Try Back Problems

This foam seat cushion relieves lowerback pain, numbness and pressure sores by promoting healthy weight distribution, posture and spine alignment. Furthermore, it reduces pressure on the tailbone and hip bones while sitting. Perfect for sitting on the computer desk for long periods of time.

$ Check price
99.9599.95Amazon 4.5 logo(9,445+ reviews)

More Back Problems resources

Build modern and responsive webpages

High Performance Web Sites

Build modern and responsive webpages Try Front-end

Want your web site to display more quickly? This book presents 14 specific rules that will cut 25% to 50% off response time when users request a page. Author Steve Souders, in his job as Chief Performance Yahoo!, collected these best practices while optimizing some of the most-visited pages on the Web.

$ Check price
29.9929.99Amazon 4.5 logo(63+ reviews)

More Front-end resources

Ad