CS412 Interactive Lab Creating a Simple Web Form

Similar documents
HTML Tables. IT 3203 Introduction to Web Development

HTML Forms and CONTROLS

Internet Technologies

Introduction to XHTML. 2010, Robert K. Moniot 1

Script Handbook for Interactive Scientific Website Building

Website Planning Checklist

Working with forms in PHP

Introduction to Web Design Curriculum Sample

2- Forms and JavaScript Course: Developing web- based applica<ons

c. Write a JavaScript statement to print out as an alert box the value of the third Radio button (whether or not selected) in the second form.

Further web design: HTML forms

HTML Form Widgets. Review: HTML Forms. Review: CGI Programs

Viewing Form Results

HTML Forms. Pat Morin COMP 2405

<option> eggs </option> <option> cheese </option> </select> </p> </form>

JavaScript and Dreamweaver Examples

Configuring iplanet 6.0 Web Server For SSL and non-ssl Redirect

About webpage creation

Web Development 1 A4 Project Description Web Architecture

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Inserting the Form Field In Dreamweaver 4, open a new or existing page. From the Insert menu choose Form.

07 Forms. 1 About Forms. 2 The FORM Tag. 1.1 Form Handlers

Web Design Basics. Cindy Royal, Ph.D. Associate Professor Texas State University

Web Programming with PHP 5. The right tool for the right job.

Web Design and Development ACS Chapter 13. Using Forms 11/30/2015 1

Advanced Drupal Features and Techniques

So we're set? Have your text-editor ready. Be sure you use NotePad, NOT Word or even WordPad. Great, let's get going.

Cover Page. Dynamic Server Pages Guide 10g Release 3 ( ) March 2007

FORMS. Introduction. Form Basics

HTML5 and CSS3 Part 1: Using HTML and CSS to Create a Website Layout

CSE 3. Marking Up with HTML. Tags for Bold, Italic, and underline. Structuring Documents. An HTML Web Page File

CHAPTER 10. When you complete this chapter, you will be able to:

Introduction Designing your Common Template Designing your Shop Top Page Product Page Design Featured Products...

WEB DESIGN LAB PART- A HTML LABORATORY MANUAL FOR 3 RD SEM IS AND CS ( )

LAB MANUAL CS (22): Web Technology

New Perspectives on Creating Web Pages with HTML. Considerations for Text and Graphical Tables. A Graphical Table. Using Fixed-Width Fonts

Chapter 2 HTML Basics Key Concepts. Copyright 2013 Terry Ann Morris, Ed.D

By Glenn Fleishman. WebSpy. Form and function

HTML TIPS FOR DESIGNING

Implementing Specialized Data Capture Applications with InVision Development Tools (Part 2)

Upload Center Forms. Contents. Defining Forms 2. Form Options 5. Applying Forms 6. Processing The Data 6. Maxum Development Corp.

Making a Web Page with Microsoft Publisher 2003

PHP Form Handling. Prof. Jim Whitehead CMPS 183 Spring 2006 May 3, 2006

JavaScript: Arrays Pearson Education, Inc. All rights reserved.

Caldes CM12: Content Management Software Introduction v1.9

Creating HTML authored webpages using a text editor

Website Login Integration

ICT 6012: Web Programming

Recreate your Newsletter Content and Layout within Informz (Workshop) Monica Capogna and Dan Reade. Exercise: Creating two types of Story Layouts

Installation & Configuration Guide Version 2.2

Accessibility in e-learning. Accessible Content Authoring Practices

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Web Design in Nvu Workbook 1

Lesson Review Answers

BlueHornet Whitepaper

WHITEPAPER. Skinning Guide. Let s chat Velaro info@velaro.com by Velaro

emarketing Manual- Creating a New

Creative Guidelines for s

Document Manager 2.0. Corporate Administrator Guide

USING WORDPERFECT'S MERGE TO CREATE MAILING LABELS FROM A QUATTRO PRO SPREADSHEET FILE Click on a Step to move to the next Step

Web Reporting by Combining the Best of HTML and SAS

Using Form Tools (admin)

CGI Programming. What is CGI?

Client-side Web Engineering From HTML to AJAX

How to Create a Form and Manage the Spreadsheet in Google Docs

Real SQL Programming 1

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE WEB EDITING

Java Server Pages and Java Beans

HTML. A computer network is a collection of computers linked through cables or wireless means.

Now that we have discussed some PHP background

HTML & XHTML Tag Quick Reference

Shopping Cart Manual. Written by Shawn Xavier Mendoza

Word 2010: Mail Merge to with Attachments

Campaign Guidelines and Best Practices

Multimedia im Netz Online Multimedia Winter semester 2015/16. Tutorial 03 Major Subject

Yandex.Widgets Quick start

An Attribute is a special word used inside tag to specify additional information to tag such as color, alignment etc.

Event Management Do-It-Yourself User Guide

Short notes on webpage programming languages

3dCart Shopping Cart Software V3.X RMA Guide

Cisco Adaptive Security Appliance (ASA) Web VPN Portal Customization: Solution Brief

WEB PROGRAMMING LAB (Common to CSE & IT)

Personal Portfolios on Blackboard

Creating Web Pages with HTML Simplified. 3rd Edition

Intell-a-Keeper Reporting System Technical Programming Guide. Tracking your Bookings without going Nuts!

Dreamweaver CS3 THE MISSING MANUAL. David Sawyer McFarland. POGUE PRESS" O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Your First Web Page. It all starts with an idea. Create an Azure Web App

Creating a Resume Webpage with

Chapter 22 How to send and access other web sites

Advanced Tornado TWENTYONE Advanced Tornado Accessing MySQL from Python LAB

How to Properly Compose HTML Code : 1

XHTML Forms. Form syntax. Selection widgets. Submission method. Submission action. Radio buttons

Transcription:

CS412 Interactive Lab Creating a Simple Web Form Introduction In this laboratory, we will create a simple web form using HTML. You have seen several examples of HTML pages and forms as you have worked your way through the material in the course. This laboratory will give you an opportunity to practice your skills by designing and building an actual form using HTML. Several different types of input will be used in the form, including text boxes, option boxes, and checkboxes. We will start with an example and then ask you to complete a form on your own. HTML Overview You have seen some basic HTML in the course so far. Let s review the basic structure of an HTML document. All HTML documents contain a head and body. The head contains information about the page, such as the title. The body contains all the information displayed on the page. The way that HTML is rendered or displayed is with tags. All tags are inside of angle brackets. Head and body are two examples of tags. Tags also have attributes, such as background color. Most HTML tags also have end tags (generally, the name of the tag with a forward slash before it). Let s look at a simple HTML page (Figure 1): Figure 1 Notice how each tag (such as BODY) has a corresponding closing tag (</BODY>). Also, we have made the page yellow by changing the bgcolor attribute on the body tag. When rendered, this page looks like Figure 2. Page 1 of 16

Figure 2 Special Tags There are a few special tags that you need to know about. One is the break tag <br/>, which starts any text after it on a new line. Notice that this tag does not have a closing tag but instead just has a / at the end. This is a special case simply because the break acts immediately. Font is another useful tag that you can use to specify a family of fonts as well as the size. For example, <font arial size=12> Test </font> would show Test in arial font, size 12. Lab Exercise For practice, design an HTML page that looks like Figure 3. You will find the HTML for this in the Solutions for this lab. Figure 3 Page 2 of 16

Heading Tags There are also heading tags that dictate the size of text and can be used to have various levels of headings. There are six levels of headings (<h1> through <h6>). If we wish to use a heading, we would simply declare the tag followed by the text and then close the tag, for example, <h1>this is level 1 </h1>. Also, please note that an automatic break is inserted after the closing heading tag. Lab Exercise Create a web page utilizing each heading (H1 to H6). Your page may look like Figure 4, although you may include whatever text you wish. Forms Figure 4 Forms are used to enter data on the Web. For example, when shopping online, you would use a form to enter your order, billing information, and so forth. In this laboratory, we will only build a form. There are a few other parts to the process, such as validating the form using JavaScript and also some database interactivity, which is often done with PHP. All forms are contained within form tags. The form tag has several attributes, including the name of the form, the action, and the method. The action prescribes where the browser will go when a special button on the form, called the submit button, is pressed. There are two types of methods: get and post. These will not be explained in this Page 3 of 16

laboratory. Let s look at the different types of controls within a form. Controls allow the user to enter information or to navigate within or outside of the form. Buttons A button performs an action when the user presses it. There are three types of buttons, as described in Table 1. Button Type submit reset push Action This submits the form. The form data is sent to another page for processing. This resets all controls to initial values. Push buttons do not have a default value. There can be an action associated with the push button. These are frequently used with JavaScript in order to perform an action on the form (such as filling in information from one set of controls to another). Table 1 Checkboxes A check box is a control that can be either checked or unchecked. When creating a checkbox, it can be set to either checked or unchecked by default. Figure 5 shows an example of a checkbox. Figure 5 The code for this is show in Figure 6. Note how there we use the input tag here with a checkbox type. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <Title>Checkbox Test</Title> </HEAD> <BODY bgcolor=#339936> <form name = "test"> <input type = "checkbox" name = "shipoption">ship to same Page 4 of 16

address</input> </form> </BODY> </HTML> Figure 6 Radio Buttons While checkboxes are generally stand-alone boxes (i.e., you either check or uncheck one at a time), radio buttons act as a group. A good example of how to use a radio button is in the selection of payment methods. A user would generally only specify one method of payment, so we would use radio buttons for this, as shown in Figure 7. Figure 7 The code for this is shown in Figure 8. Please note that the user has a choice of only one selection. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <Title>Radio Button Test</Title> </HEAD> <BODY bgcolor=#339936> <form name = "test"> <br/><br/><br/> <h1><center>select a Payment Method</center></h1> <input type = "radio" name = "charge" value="cash">cash</input> <input type = "radio" name = "charge" value="check">check</input> <input type = "radio" name = "charge" value="mastercard">mastercard</input> <input type = "radio" name = "charge" value="visa">visa</input> </form> Page 5 of 16

</BODY> </HTML> Figure 8 Text Input Text input areas are used to input text into the form. There are two types of tags. Input is used for a single line and text area can contain multiple lines. There are several attributres that go along with this, such as the size. Figure 9 shows an example of each. Figure 9 Note that the text area has a scroll bar once we get beyond three lines. The code for this is shown in Figure 10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <Title>Text Test</Title> </HEAD> <BODY bgcolor=#cccc00> <form name = "test"> <br/><br/><br/> <h1><center>comment Form</center></h1> Position:&nbsp&nbsp&nbsp&nbsp&nbsp<input name = "position" size = 30></input><br/><br/> Comments:&nbsp<textarea name = "comments" size = 35></textarea> </form> </BODY> Page 6 of 16

</HTML> Figure 10 Select The select tag is used to create a drop-down list from which the user can select one or more choices. In most cases, you will have the user select only one choice, although you can specify multiple choices as an option. Figure 11 shows an example of a select. Figure 12 shows the code for this. Figure 11 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <Title>Select Test</Title> </HEAD> <BODY> <form name = "test"> <br/><br/><br/> <h1><center>select an Age Range</center></h1> &nbsp<select> <option value = "young">18 or less</option> <option value = "young adult">19-39</option> <option value = "middle aged">40-65,</option> <option value = "senior citizen">66 or older</option> </select> </form> </BODY> </HTML> Figure 12 Page 7 of 16

A Complete Example Now that we have looked at some of the tags needed to build an HTML form, let s go ahead and build one. When complete, our form will look like Figure 13. Figure 13 Page 8 of 16

I ve made some comments in the figure to indicate various controls. We will now look at each piece of code. HTML Setup, Head, and Page Header Figure 14 Lines 1 through 6 set up the HTML form with the HTML tag, the head tag, as well as the body tag. Line 7 is the very top of the form, which shows the title of the page (Sam s Secret Store) Notice how we also use a center tag here to center the title. Customer Information Table We did not touch upon tables in our previous discussion. However, you have more than likely seen tables when you worked through the course. A table helps us divide information on the page. In the case of this page, we have four tables: one for customer name and address, a container for the items and the buttons, one for the actual items, and one for the buttons. Tables consist of a table tag to open the table, the TR tag for new table rows, the TH tag for table headers, and the TD tag for table cell data. Figure 15 shows the code for this part. 10 <TABLE BORDER="0" ALIGN="LEFT"> 11 <TR> 12 <TH WIDTH="130" >Name: </TH> 13 <TD><INPUT NAME="customer" TYPE="text" SIZE="40" MAXLENGTH= "40" VALUE=""></TD> 14 </TR> 15 <TR> 16 <TH WIDTH="130" >Address: </TH> 17 <TD><INPUT NAME="address" TYPE="text" SIZE="40" MAXLENGTH= Page 9 of 16

"64" VALUE=""></TD> 18 19 </TR> 20 21 <BR CLEAR="left"> 22 <TH width="130"">city: </TH> 23 <TD><INPUT NAME="city" TYPE="text" SIZE="25" MAXLENGTH="25" VALUE=""></TD> 24 25 <TH >State: </TH> 26 <TD><select name="state" size=1> 27 <option value="" selected>choose a state</option> 28 <option value="ak" >AK</option> 29 <option value="al" >AL</option> 30 <option value="ar" >AR</option> 100 </select> 101 102 <B> Zip:</B> <INPUT NAME="billZip" TYPE="text" SIZE="10" MAXLENGTH="10" VALUE=""></TD> 103 104 </TABLE> Figure 15 I ve skipped many lines of code for the option values for each state to save space. Let s look at each line. Line Purpose/Description 10 Creates the first table. 11 Creates the first row of the table using the TR (table row) tag. 12 Creates a table header for the name. We use table header here because it looks neater. 13 Creates an input box for the customer name. It has a length of 40 and will only allow 40 characters. 14 and Closes the table row and starts another row. 15 16 Creates a table header for the address. 17 Creates an input box for the customer address. 19 Closes the row 21 A line break Page 10 of 16

22 Creates a header for the city. 23 Creates an input box for the city. 25 Creates the table header. 26 Creates the option select pull-down for state. 27-99 Create the selections for states. 100 Closes the select. 102 Creates the input box for zip. 104 Closes the table. One thing that you may have noticed is that we have used table head (TH) tags for some of the titles (like city) This was done more for formatting than anything else. Product Table The product table contains the main part of the page where the customer can pick the products that they would like to purchase as well as the quantities. If we were to add JavaScript validation to the form, then we could compute the extended price, tax, and total of the order. We will not go into line-by-line detail but will point out the interesting parts of the code. The code is shown in Figure 16. 110 <h2>products to Order</h2> 111 112 <TABLE BORDER="0" ALIGN="LEFT"> 113 <TR><TD> 114 <TABLE BORDER="1" CELLPADDING="2" ALIGN="LEFT"> 115 <TR> 116 <TH WIDTH="150">Item</TH> 117 <TH WIDTH="130">Quantity</TH> 118 <TH WIDTH="65">Repeat Order</TH> 119 120 <TH>Price</TH> 121 <TH>Ext. Cost</TH> 122 123 </TR> 124 <TR> 125 <TD>Pens</TD> 126 <TD ALIGN="CENTER"><SELECT NAME="quantityPens" SIZE="1"> 127 <OPTION VALUE="">Choose a quantity</option> 128 Page 11 of 16

129 <OPTION VALUE="">10</OPTION> 130 <OPTION VALUE="">50</OPTION> 131 <OPTION VALUE="">75</OPTION> 132 <OPTION VALUE="">100</OPTION> 133 </SELECT></TD> 134 <TD><INPUT NAME="penRepeat" type = "checkbox"</td> 135 136 <TD>@ 1.50 ea</td> 137 138 <TD><INPUT NAME="extPens" TYPE="text" SIZE="10" MAXLENGTH="60 " VALUE=""></TD> 139 </TR> 140 <TR> 141 <TD> Pencils</TD> 142 <TD ALIGN="CENTER"><SELECT NAME="quantityPencils" SIZE="1"> 143 <OPTION VALUE="">Choose a quantity</option> 144 145 <OPTION VALUE="">10</OPTION> 146 <OPTION VALUE="">50</OPTION> 147 <OPTION VALUE="">75</OPTION> 148 <OPTION VALUE="">100</OPTION> 149 </SELECT></TD> 150 <TD><INPUT NAME="pencilRepeat" type = "checkbox"</td> 151 <TD>@ 0.25 ea</td> 152 153 <TD><INPUT NAME="extPencils" TYPE="text" SIZE="10" MAXLENGTH="60" VALUE=""></TD> 154 155 </TR> 156 <TR> 157 <TD> Erasers</TD> 158 <TD ALIGN="CENTER"><SELECT NAME="quantityErasers" SIZE="1"> 159 <OPTION VALUE="">Choose a quantity</option> 160 161 <OPTION VALUE="">10</OPTION> 162 <OPTION VALUE="">50</OPTION> Page 12 of 16

163 <OPTION VALUE="">75</OPTION> 164 <OPTION VALUE="">100</OPTION> 165 </SELECT></TD> 166 <TD><INPUT NAME="eraserRepeat" type = "checkbox "</td> 167 <TD>@ 0.30 ea</td> 168 169 <TD><INPUT NAME="extErasers" TYPE="text" SIZE="10" MAXLENGTH="60" VALUE=""></TD> 170 171 </TR> 172 173 <TR> 174 <TH COLSPAN="4" ALIGN="RIGHT">6.25% Sales Tax: </TH> 175 176 <TD><INPUT NAME="salesTax" TYPE="text" SIZE="10" MAXLENGTH=" 60" VALUE=""></TD> 177 </TR> 178 <TR> 179 <TH COLSPAN="4" ALIGN="RIGHT">Shipping Method: 180 <SELECT NAME="shipMethod" SIZE="1"> 181 <OPTION VALUE="">Choose a shipping method</option> 182 <OPTION VALUE="priority2">Priority mail $5.00 (4 items or less)</option> 183 <OPTION VALUE="priority3">Priority mail $8.00(6 items or less)</option> 184 185 <OPTION VALUE="priority4">Priority mail $10.00 (8 items or less)</option> 186 <OPTION VALUE="overnight">Express $20.00 (4 items or less only)</option> 187 <OPTION VALUE="UPS">UPS - 2 day $12.00 (9-49 187 items)</option> 188 <OPTION VALUE="free">Free shipping (50+ items only)</option> 189 </SELECT> 190 191 </TH> Page 13 of 16

192 <TD><INPUT NAME="shippingChg" TYPE="text" SIZE="10" MAXLENGTH="60" VALUE=""></TD> 193 194 </TR> 195 <TR> 196 <TH COLSPAN="4" ALIGN="RIGHT">Total: </TH> 197 <TD><INPUT NAME="total" TYPE="text" SIZE="10" MAXLENGTH="60" VALUE=""></TD> 198 </TR> 199 200 </TABLE> Figure 16 Line 110 uses the heading tag (<H1>), which we discussed previously. Notice in line 112, we define a table and then another table in line 114. This is so that we can have better control over the formatting of this part of the page. Lines 118 through 121 define the actual column headings. In this case, once these are defined, then the table will be rendered with the number of columns specified. This is fine until we get to line 174 for the sales tax. If you look at the page as it is rendered (see Figure 13), you will notice that the sales tax, shipping method, and total only take up two columns of the table. By specifying an attribute of colspan= 4 on the TD tag, this cell will occupy four cells of the table. This is similar to merging cells on a spreadsheet. Most of the rest of the code for this section we have seen before. Button Table The buttons are contained in a separate subtable. Figure 17 shows the code for this: Page 14 of 16

201 </TD><!-- outside table--> 202 <TD VALIGN="BOTTOM"><!-- outside table--> 203 204 <TABLE ALIGN="LEFT" VALIGN="BASELINE"> 205 <TR><TD ALIGN="CENTER"><INPUT TYPE="reset" VALUE="Clear Form "></TD></TR> 206 <TR><TD><BR></TD></TR> 207 <TR><TD ALIGN="CENTER"><INPUT TYPE="submit" VALUE="Send Order "></TD></TR> 208 </TABLE> 209 </TD></TR><!-- outside table--> 210 </TABLE><!-- outside table--> 211 </FORM> 212 213 214 </BODY> 215 </HTML> Figure 17 Notice how the table defined in line 204 is inside of another table. It contains two buttons: a reset button (to clear all controls shown in line 205) and a submit button (shown in line 207).) For now, the submit button will not do anything. If we were going to send this form to a PHP page to write it to a database, then the submit button would do this based upon the value of the action attribute of the form. Lab Exercise Now that you have had a chance to see a working web page, it is time to design your own. Write the code to make a page that looks like Figure 18. You can use your favorite text editor to try this and then render the page in your browser. The solutions can be found in the solutions document. Page 15 of 16

Figure 18 Page 16 of 16