Working with Forms. How Forms Work Forms let you build interactive Web pages that collect...

Post on 31-Dec-2015

215 views 0 download

Tags:

Transcript of Working with Forms. How Forms Work Forms let you build interactive Web pages that collect...

Working with Forms

How Forms Work

How Forms Work

• Forms let you build interactive Web pages that collect information from a user and process it on the Web server

• The HTML form is the interface for the user to enter data

• The data is processed by applications that reside on the Web server

Using CGI Scripts

• The Common Gateway Interface (CGI) is the communications “bridge” between the Internet and the server

• Using programs called scripts, CGI can collect data sent by a user via the Hypertext Transfer Protocol (HTTP) and transfer it to a variety of data processing programs including spreadsheets, databases, or other software running on the server

Using CGI Scripts (continued)

• The data processing software can then work with the data and send a response back to CGI, and then onto the user

• The user enters data via an HTML form

Understanding Form Syntax

Forms Syntax• The following basic form elements are

commonly supported by the major browsers:– <form>

– <input>

– <select>

– <option>

– <textarea>

– <button>

– <hidden>

– <password>

– <submit>

– <reset>

• Other newly defined elements exist, but to begin, we’ll concentrate on the above main elements.

Using the <form> element

• The <form> element is the container for creating a form

• A variety of attributes describe how the form data will be handled

Using the <form> element (continued)

• The following code shows a typical <form> element:

<form action=“http://www.website.com/

order-form.html”

method=”get”

enctype=“plain/text”>

Using the mailto Action

• The mailto action accesses the user’s own e-mail program and uses it to mail form information to a specified e-mail address.– Bypasses the need for server-based programs.

• The syntax is as follows:<form action=“mailto:e-mail address” method=“post” enctype=“text/plain”>

… </form>

• Where e-mail_address is the e-mail address of the recipient in the form.

Creating Input Objects

Creating Input Objects

• The <input> element defines many of the form input object types

• The type attribute specifies the type of input object

Input object types

Creating Text Boxes

• The text box is the most commonly used form element

<input type="text" name="firstname" id="firstname" size="20" maxlength="35" value="First Name">

Creating Check Boxes

• Check boxes are an on/off toggle that the user can select

<input type="checkbox" name="species" id="species" value="smbass"> Smallmouth Bass

Creating Radio Buttons

• Radio buttons are like check boxes, but only one selection is allowed

<input type="radio" name="list" id="list" value="yes" checked> Yes

Creating Submit & Reset Buttons • The submit and reset buttons let the user

choose whether to send the form data or start over

<input type="submit" value="Submit your answers">

<input type="reset" value="Clear the form">

Creating a Custom Event Button

• Custom event buttons activate a function in some associated program or script

Click the calculate button to total your order:

<input type="button" value="Calculate">

Creating an Image for the Submit Button

• You can choose an image file and use it instead of the default submit button

<input type="image" src="submit.gif" alt="submit button">

Letting the User Submit a File

• Users can select a file on their own computer and send it to the server

Use the browse button to select your file:<br>

<input type="file" size="30">

Creating a Password Entry Field

• The password input box works like the text input, but the entered text is hidden by asterisks

password: <input type="password" size="30">

Using the <select> Element • The <select> element lets you create a list

box or scrollable list of selectable options

<select name="boats“ id="boats"><option>Canoe</option><option>Jon Boat</option><option>Kayak</option><option>Bass Boat</option><option>Family Boat</option></select>

Using the <select> Element (continued) • You can choose to let the user pick multiple

values from the list by adding the multiple attribute

<select name="snacks" id="snacks" multiple size="6"><option>Potato Chips</option><option>Popcorn</option><option>Peanuts</option><option>Pretzels</option><option>Nachos</option><option>Pizza</option><option>Fries</option></select>

Using the <select> Element (continued) • You group and label sets of list options with

the <optgroup> element and label attribute

<optgroup label="Salty Snacks"><option>Potato Chips</option><option>Popcorn</option><option>Peanuts</option><option>Pretzels</option></optgroup>

Using the <textarea> Element

• The <textarea> element lets you create a larger text area for user input

<p><b>Briefly tell us your favorite fish story:</b><br><textarea name="fishstory“ id="fishstory" rows="5" cols="30">Enter your story here...</textarea></p>

Creating Input Groupings

• You can use the <fieldset> and <legend> elements to create groupings of different types of input elements

Creating Input Groupings (continued)

<fieldset><legend><b>Select the species you prefer to fish:</b></legend><input type="checkbox" name="species“ id="species" value="smbass"> Smallmouth Bass<input type="checkbox" name="species“ id="species" value="lgbass"> Largemouth Bass <br><input type="checkbox" name="species" id="species" value="pike"> Pike</fieldset>

Building Forms within Tables

Building Forms within Tables

• Placing forms within a table can enhance the layout and legibility of the form

Summary

• You will need to work with some type of server-based software program to process the data from your form

• You have a variety of form elements to choose from when building a form– Use the correct type of form element for the type of

data you are gathering

– For example, use check boxes for multiple-choice questions; for a long list of choices, use a select list

Summary (continued)

• The <fieldset> and <legend> elements let you create more visually appealing forms that have logical groupings of input elements with a title

• You can control the ragged look of forms by placing them within tables to control the alignment of input elements