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
Top Related