Spring 2007
week 10: 3/23
hi everyone,
very happy with how class went on friday night. most of you have worked very hard this semester, and it shows. keep up the good work. only a few more weeks to go.
very happy with how class went on friday night. most of you have worked very hard this semester, and it shows. keep up the good work. only a few more weeks to go.
- TOPICS:
- Final Project;
- Form Validation;
- LINK Creating the Table;
- LINK Adding the Form;
- LINK Designing the Layer;
- LINK Adding the IDs;
- LINK Altering Properties;
- LINK Using a Conditional;
- LINK Submitting Completed Form;
- LINK Creating the Table;
- Final Project;
- HOMEWORK: For homework this week, you must complete the Introductory Page for the final website (see details below). At this point, there will not be any JavaScript for this page. It is a purely design and html/css exercise this week.
- FINAL PROJECT: Starting this week we will be working on the final project which is a website for a Children's Book Writer, Bruce Goldstone. Please read the information below, and click on the links to download additional information and the images.
- CONTENT REQUIREMENTS:
- Page 1: INTRO PAGE—this page includes some kind of appropriate imagery of your choice with a series of links: About Bruce, His Books, Image Gallery, Mailing List, Order Form . In this page, you should establish the color scheme that you will use throughout your design for this site. You should also establish ‘the look’ you are going for with the sort of imagery you choose and the fonts you select.
- In addition to the imagery here, and the links, we should also see the name of the website Bruce_Goldstone.com.
- It should say somewhere that he is a children's book writer.
- You should also place an image from his new book (all the images that I gave you are from the same book—Great Estimations).
- Also necessary, is the the title of the new book, Great Estimations.
- And finally, in addition to all of this in the Intro page, you also need to mention that it is available in bookstores everywhere.
- It should say somewhere that he is a children's book writer.
- Page 2: 'ABOUT BRUCE' PAGE—this page includes one image of the author, and text about him (to be furnished at a later time). The main thing you need to know about him right now to start your site is that he is a children’s book author.
- Page 3: 'HIS BOOKS' PAGE—This page includes a thumbnail image of each book (all of which you can download online; and, the thumbnail should also be clickable to get to a larger image that pops up in a different window) along with the following text.
- Great Estimations (his latest book)—thanks to jaw-dropping color photos, the author, Bruce Goldstone, lays out a mixed assemblage of toys, pipe cleaners, marbles, peanuts, and other small items. He helps viewers train themselves to estimate the size of groups of about 10 things on sight, then goes on to present similar, often fetchingly arranged, materials by hundreds and (!) thousands. He also describes "clump counting" and "box and count" methods, offering pages chock-full of plastic bugs ("It isn't gross--it's a gross."), dog and cat stamps, a penguin colony, tiny rice grains, a bowl of jellybeans, and more. Including hints for each exercise, and frequent reminders that the goal is a "reasonable estimate," not an exact number, this book lends itself equally well to skill building and to casual reading.
- The Beastly Feast—The centerpiece is arranged and the table is set, ready for The Beastly Feast. Fishes bring knishes, puffins come bearing muffins, and mosquitoes bring burritos as the guests prance and zip across the pages to this deliriously raucous food fest. Young readers will delight in the chaos that ensues when the flies' pie crashes onto the festive table loaded with parrots' carrots, antelopes' cantaloupe, and other potluck dishes. They also will find it hard to resist manipulating the delicious word pairs and adding their own silly rhymes. Goldstone has created a rhyming story with a minimum of words that may remind readers of Bill Martin's Chicka Chicka Boom Boom (S & S, 1989) in its exuberant beat and topsy-turvy outcome. It is Lent's fabulous illustrations, however, that place this book in its own unique class. The artist made his own paper and then printed it with colorful patterns using cut cardboard and linoleum. The resulting lively collages and layout convey a sense of movement and excitement. The rich visual details nicely balance the simple words and add complexity to an otherwise straightforward plot. This collaboration is cause for celebration; The Beastly Feast will give youngsters lots of reasons to rejoice.
- Ten Friends—"If you could ask 10 friends to tea, tell me who your friends would be," begins Goldstone's rollicking, rhyming approach to addition and multiplication. In each of 10 spreads, the unseen narrator suggests different combinations that add up to 10, which Cahoon (Word Play ABC) interprets in vibrantly saturated spreads of an anthropomorphized menagerie. A rose-hued stage scene featuring a sextet of flamingos en pointe, partnered with four leaping frogs, for instance, illustrates the equation 6 + 4; while 8 + 2 translates into eight mouse tailors cavorting among spools and thread, joined by two plunger-toting elephant plumbers. Whenever the equations lengthen beyond two addends, the rhyming text takes on jovial patter-song silliness: "How about 1 prince, 1 painter, and 2 potters, 1 diner, 1 miner, 1 major, and 3 otters?" Finally, the book offers up the cumulative possibility of what would happen "if ALL your friends show up": it's the number 100, the magnitude of which is driven home by a page filled with thumbnail portraits of every one of the participants. Exuberantly stylish, this painless introduction to the power of 10 should prove to be many aspiring mathematicians' cup of tea.
- Bip in a Book—Marcel Marceau's genius for the art of silence has astonished and delighted audiences of all ages for more than 50 years. Bip is Marceau's beloved alter ego, a hapless clown with unlimited curiosity and compassion. Since his debut in 1947, Bip has bravely explored every imaginable location, from a skating rink to a lion cage. But he has never been trapped inside the pages of a book... until now. In Bip in a Book, this richly evocative drama is reinterpreted for a new generation. Once again Marceau's famous innocent is trapped, but this time he is confined not by an imaginary cage, but by a page. Dressed in his signature striped pullover and battered opera hat, Bip is happily oblivious to his plight until he walks smack into the right edge of the page. As the reader turns the pages, Bip's imaginative exploration of this unexpected situation is told through 32 vivid photographs, each underscoring Marceau's outstanding gift of expression. Anyone who loves the theater will cherish these playful photographs of a modern master at work, but even readers who have never seen Bip will be drawn to the creativity and suspense of this one-of-a-kind story.
- Why is Blue Dog Blue?—for years Blue Dog's bold blueness has captivated adults. Now children get to join in the fun when they open this vibrant book, which finally answers the question we've all wondered about since we first met Blue Dog's riveting stare: Why is Blue Dog blue? Blue Dog's creator, George Rodrigue, takes readers on a playful tour of his unique color world. In it, he combines preposterous puns with all-new whimsical Blue Dog silkscreens to go where other color guides are too yellow-bellied to tread. Readers of all ages will giggle as Blue Dog changes color from red or green to auburn or chartreuse. By the end of the book, they will see that the artist's reasoning is both logical and magical: Blue Dog simply had to be blue.
- A Gnome’s Christmas—When a mysterious greenwood box is discovered in the rafters of an old barn in northern Finland, it is found to contain tiny bundles of paper, each revealing remarkable descriptions of the Christmas rituals of the gnomes. In every gnome home around the world, Christmas lasts an entire month, and it signals the coming of a new year, which the gnomes ring in with a blessing: "May this year be full of proud deeds and silly games, beautiful songs and hearty feasts, clever jokes, loving friends, and enough surprises to keep us on our toes."
Following in the tradition of Gnomes (which sold one million copies), The Complete Gnomes, and The Secret Lives of Gnomes, A Gnome's Christmas is the latest study on the lives and cultural habits of gnomes. This delightful book features songs, stories, games, and recipes for holiday treats, as well as captivating artwork by celebrated artist Rien Poortvliet. Including a special holiday ornament, A Gnome's Christmas is a must-have for gnomeophiles and Christmas fans of all ages.
- Page 4: IMAGE GALLERY PAGE—a whole series of photographic images used in his latest book placed in a thumbnail gallery. These thumbnails should be clickable to get to larger versions of the same images that pop up in a new window.
- This page will include an image-replacement script which will change an image whenever the user mouses-over one of them.
- This page will also include a script to create a pop-up window when the user clicks on one of the images that contains a larger version of the image with a caption.
- Page 5: FORM I PAGE—Mailing List (form) Page, specific form elements to be given at a later date.
- This page will include a script to validate the form.
- This page will also include a script to print out the data that was typed in the form in a new page using a document.write().
- Page 6: FORM II PAGE—Order Information (form) Page, specific form elements to be given at a later date.
- This page will include a script to validate the form.
- This page will also include a script to print out the data that was typed in the form in a new page using a document.write().
- In addition to the imagery here, and the links, we should also see the name of the website Bruce_Goldstone.com.
- Page 1: INTRO PAGE—this page includes some kind of appropriate imagery of your choice with a series of links: About Bruce, His Books, Image Gallery, Mailing List, Order Form . In this page, you should establish the color scheme that you will use throughout your design for this site. You should also establish ‘the look’ you are going for with the sort of imagery you choose and the fonts you select.
- DESIGN REQUIREMENTS:
- Color Scheme—you must choose a color scheme for your web-site that you can show to me or describe to me. My suggestions are simple, easy, non-complicated. Keep in mind who your audience is and what the subject matter is.
- Page Layout—you must use CSS and/or tables to lay out all pages in a pleasing way. If you are not certain how to do this, consult our past classes and me for assistance.
- Color Scheme—you must choose a color scheme for your web-site that you can show to me or describe to me. My suggestions are simple, easy, non-complicated. Keep in mind who your audience is and what the subject matter is.
- TECHNICAL REQUIREMENTS:
- XHTML—ALL CODE for this site must be typed using STRICT XHTML standards. This means the following:
- that all tags and their attributes must be typed in lower case;
- that all attribute values must be typed in quotes and with units;
- that the DTD for strict XHTML must be typed at the top of the document;
- that all empty tags must be typed with the slash at the end, such as with the <br/> tag;
- that none of the deprecated inline tags are to be used, such as the <font>, <b>, <u>, or <i> tags;
- and, in addition, that the <tbody> and the <thead> tags, as well as the height attribute for the <table> and <td> tags, are not permitted.
If you are uncertain about something, you can consult the requirements at the w3schools site (LINK), or you may ask me. Furthermore, the use of DreamWeaver is permitted; however, please note that DreamWeaver does not create strict XHTML. Therefore, you will have to go through the code and edit it yourself to make certain it follows strict standards.
- that all tags and their attributes must be typed in lower case;
- CSS—ALL STYLING must be done using CSS. We have used it extensively in this class, and you should have learned it in the previous DMA110 class; and further, as it is the standard in web-design, it is a requirement that this site use CSS for the styling of the page. All three levels of styles may be, and are encouraged to be used. Please consult me if you need additional assistance with this.
- JavaScript—As this is the heart and primary topic of this course, the presence and functionality of your JavaScript code is your primary task. More than 50% of the grade for this project will be based on this, so please focus on the scripts above all. Although XHTML, CSS, the content, and design of the site are all important, this is a JavaScript class after all, so keep in mind that an ugly site with functioning scripts, will do much better than a beautiful site with non-functioning scripts. There will be several scripts that you must include in your site:
- Form-validation (covered weeks 10-11)—The most important scripts will be the ones that deal with form validation. These must accomplish a few goals:
- They must first and foremost determine whether the form fields have been filled in;
- they must next determine whether text has been typed where it should be and that numerals are typed where they should be;
- they must prevent the data from being sent to output (such as in a document.write()) if the fields are not completely filled;
- and lastly, there must be a document.write() that prints out all the data that was typed into the form.
- They must first and foremost determine whether the form fields have been filled in;
- image-replacement (covered week 12)—In two places, on the opening page and then somewhere else in your site—either as menu items or on the gallery page—you must use scripts to create mouse-over buttons with images. These are scripts that replace an image with another image when the mouse passes over the top of it, and then return the original image when the mouse moves away.
- PopUp Windows (covered week 13)—On the gallery page, the thumbnail images must be clickable and they must call a script that creates a new browser window with a larger full-color version of the images. The new browser windows must not have any menus at the top or scrollbars on the side or bottom. Accompanying each larger image, must be information about the image, the title, the date, and the media used, as well as a link that closes the window (closing the window can also be accomplished with JavaScript).
- Date insertion (covered week 13)—At the top of each of the content pages, you must insert the current date using JavaScript.
- Form-validation (covered weeks 10-11)—The most important scripts will be the ones that deal with form validation. These must accomplish a few goals:
- XHTML—ALL CODE for this site must be typed using STRICT XHTML standards. This means the following:
- FILES: You will need the following files to complete the website.
- LINK click here for information about the Final Project.
- LINK images 1 click here and below to download images. PLEASE NOTE These are very large files.
- LINK images 2
- LINK images 3
- LINK images 4
- LINK images 5
- LINK images 6
- LINK click here for information about the Final Project.
- CONTENT REQUIREMENTS:
- FORM VALIDATION I:
- Creating the Table—For organizing and laying-out our form, we are going to start with a table similar to one we have used in the past:
LINK (week 6)
Since we have gone over the process of creating a table step-by-step several times already, I will just show the desired table and its code below:information first name last name city state zip code
<table width="100%" border="1px" cellspacing="0px" cellpadding="0px">
<tr>
<td colspan="5" align="center">information</td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td width="50px"> </td>
<td width="50px" align="right">first name</td>
<td width="10px"> </td>
<td> </td>
<td width="100px"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">last name</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">city</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">state</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">zip code</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
</table>
- Adding the Form—The following table insterts the form elements and form tags.
<form>
<table width="100%" border="1px" cellspacing="0px" cellpadding="0px">
<tr>
<td colspan="5" align="center">information</td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td width="50px"> </td>
<td width="50px" align="right">first name</td>
<td width="10px"> </td>
<td><input type="text"/></td>
<td width="100px"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">last name</td>
<td> </td>
<td><input type="text"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">city</td>
<td> </td>
<td><input type="text"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">state</td>
<td> </td>
<td><input type="text"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right">zip code</td>
<td> </td>
<td><input type="text"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td><input type="button" value="submit"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
</table>
</form>
- Designing the Layer—In order to create a layer and add needed designing to it, the following CSS must be typed into the head of the document:
<style type="text/css">
<!--
#layer1 {width:300px;
height:200px;
position:absolute;
top:100px;
left:100px;
z-index:1;
border-width:1px;
border-color:#aaaaaa;
border-style:solid;
background-color:#000000;}
//-->
</style>
- Adding the IDs—So that the styling from the CSS code above, the layer id must be applied to the< span class="tag"><div> div tags surrounding the form and table. While we're at it, we'll add a few other IDs that will assist us with our JavaScript later:
<div id="layer1">
<form id="myForm">
<table width="100%" border="1px" cellspacing="0px" cellpadding="0px">
<tr>
<td colspan="5" align="center">information</td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td width="50px"> </td>
<td width="50px" align="right" id="firstText">first name</td>
<td width="10px"> </td>
<td><input type="text" id="first"/></td>
<td width="100px" id="firstWarn"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right" id="lastText">last name</td>
<td> </td>
<td><input type="text" id="last"/></td>
<td id="lastWarn"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right" id="cityText">city</td>
<td> </td>
<td><input type="text" id="city"/></td>
<td id="cityWarn"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right" id="stateText">state</td>
<td> </td>
<td><input type="text" id="state"/></td>
<td id="stateWarn"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td align="right" id="zipText">zip code</td>
<td> </td>
<td><input type="text" id="zip"/></td>
<td id="zipWarn"> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td><input type="button" value="submit" id="submit"/></td>
<td> </td>
</tr>
<tr>
<td colspan="5"> ;</td>
</tr>
</table>
</form>
</div>
With the CSS styles added via the Layer1 ID, the table and layer appear as follows:
- Altering Properties—Before we begin the actual scripting, in the head of the document between the script tags, we will first initialize our function as function validate(). We will also have to call this function with our submit button down at the bottom of the form by using an event handler like so: onclick="validate()".
Regarding the function of this script, what we ultimately want to occur is for the script to determine if all of the form fields have been filled out. If they have not, the script should prevent the form from being submitted and indicate to the user how and where the form should be completed. To change the properties, we will do three things, change the color of the text label, change the background color of the form field, and add the text "required" beside the field that should be filled out. Although this in itself does not stop the form data from being submitted, we will start here and build from it.
To alter the properties of an element, such as its color, size, or background color is much like extracting and manipulating the value of an element. In fact, an element's value IS one of its properties. Therefore, a text field has several properties, it size and background color, as well as its value. Moreover, accessing those other properties, other than the value, is done in the same way, using the document.getElementById() function:
<script language="javascript" type="text/javascript">
<!--
function validate()
{
document.getElementById("firstText").style.color = "#cc0000";
}
//-->
</script>
Using this little script, by pressing on the submit button, we will cause the words first name to become red. By adding the following line to the script, we can cause the background color of the form field to change colors: document.getElementByID("first").style.backgroundColor = "#ffaaaa;"
And furthermore, we can insert text into the space to the left of the form element to indicate that the form field is required with these next lines:
document.getElementById("firstWarn").innerHTML= "required";
document.getElementById("firstWarn").style.color="#cc0000";
document.getElementById("firstWarn").style.fontSize="10pt";
In order to change the properties of all of the text fields, we should type the script as follows:
<script language="javascript" type="text/javascript">
<!--
function validate()
{
document.getElementById("firstText").style.color = "#cc0000";
document.getElementByID("first").style.backgroundColor = "#ffaaaa;"
document.getElementById("firstWarn").innerHTML = "required";
document.getElementById("firstWarn").style.color = "#cc0000";
document.getElementById("firstWarn").style.fontSize = "10pt";
document.getElementById("lastText").style.color = "#cc0000";
document.getElementByID("last").style.backgroundColor = "#ffaaaa;"
document.getElementById("lastWarn").innerHTML = "required";
document.getElementById("lastWarn").style.color = "#cc0000";
document.getElementById("lastWarn").style.fontSize = "10pt";
document.getElementById("cityText").style.color = "#cc0000";
document.getElementByID("city").style.backgroundColor = "#ffaaaa;"
document.getElementById("cityWarn").innerHTML = "required";
document.getElementById("cityWarn").style.color = "#cc0000";
document.getElementById("cityWarn").style.fontSize = "10pt";
document.getElementById("stateText").style.color = "#cc0000";
document.getElementByID("state").style.backgroundColor = "#ffaaaa;"
document.getElementById("stateWarn").innerHTML = "required";
document.getElementById("stateWarn").style.color = "#cc0000";
document.getElementById("stateWarn").style.fontSize = "10pt";
document.getElementById("zipText").style.color = "#cc0000";
document.getElementByID("zip").style.backgroundColor = "#ffaaaa;"
document.getElementById("zipWarn").innerHTML = "required";
document.getElementById("zipWarn").style.color = "#cc0000";
document.getElementById("zipWarn").style.fontSize = "10pt";
}
//-->
</script>
Click on the submit button above to see the function at work.
- Adding a Conditional—Now, what we want to happen is not really simply to make text appear and make things change colors. As wonderful as that is, on its own it does little to help the user to fill out the form correctly. In fact, we DO NOT want it to happen if the user does in fact fill out the form properly. Therefore, it should only change colors, for example, when the user leaves the fields blank. In plain english then, our conditional would read as follows:
IF (the form field is left blank)
{
then change the colors of the text
and change the background color
and add the word "required"
}
ELSE
{
DO NOT change the colors of the text
DO NOT change the background color
DO NOT add the word "required"
}
Using JavaScript terminology, it would read as follows:
if (document.getElementById("first").value == "")
{
document.getElementById("firstText").style.color = "#cc0000";
document.getElementById("first").style.backgroundColor = "#ffaaaa;"
document.getElementById("firstWarn").innerHTML = "required";
document.getElementById("firstWarn").style.color = "#cc0000";
document.getElementById("firstWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("firstText;).style.color = "#aa99cc";
document.getElementById("first").style.backgroundColor = "#ffffff;"
documetn.getElementById("firstWarn").innerHTML = "";
}
The same sort of conditional statement must be used for each of the text fields:
if (document.getElementById("first").value == "")
{
document.getElementById("firstText").style.color = "#cc0000";
document.getElementByID("first").style.backgroundColor = "#ffaaaa;"
document.getElementById("firstWarn").innerHTML = "required";
document.getElementById("firstWarn").style.color = "#cc0000";
document.getElementById("firstWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("firstText;).style.color = "#aa99cc";
document.getElementById("first").style.backgroundColor = "#ffffff;"
documetn.getElementById("firstWarn").innerHTML = "";
}
if (document.getElementById("last").value == "")
{
document.getElementById("lastText").style.color = "#cc0000";
document.getElementByID("last").style.backgroundColor = "#ffaaaa;"
document.getElementById("lastWarn").innerHTML = "required";
document.getElementById("lastWarn").style.color = "#cc0000";
document.getElementById("lastWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("lastText;).style.color = "#aa99cc";
document.getElementById("last").style.backgroundColor = "#ffffff;"
documetn.getElementById("lastWarn").innerHTML = "";
}
if (document.getElementById("city").value == "")
{
document.getElementById("cityText").style.color = "#cc0000";
document.getElementByID("city").style.backgroundColor = "#ffaaaa;"
document.getElementById("cityWarn").innerHTML = "required";
document.getElementById("cityWarn").style.color = "#cc0000";
document.getElementById("cityWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("cityText;).style.color = "#aa99cc";
document.getElementById("city").style.backgroundColor = "#ffffff;"
documetn.getElementById("cityWarn").innerHTML = "";
}
if (document.getElementById("state").value == "")
{
document.getElementById("stateText").style.color = "#cc0000";
document.getElementByID("state").style.backgroundColor = "#ffaaaa;"
document.getElementById("stateWarn").innerHTML = "required";
document.getElementById("stateWarn").style.color = "#cc0000";
document.getElementById("stateWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("stateText;).style.color = "#aa99cc";
document.getElementById("state").style.backgroundColor = "#ffffff;"
documetn.getElementById("stateWarn").innerHTML = "";
}
if (document.getElementById("zip").value == "")
{
document.getElementById("zipText").style.color = "#cc0000";
document.getElementByID("zip").style.backgroundColor = "#ffaaaa;"
document.getElementById("zipWarn").innerHTML = "required";
document.getElementById("zipWarn").style.color = "#cc0000";
document.getElementById("zipWarn").style.fontSize = "10pt";
}
else
{
document.getElementById("zipText;).style.color = "#aa99cc";
document.getElementById("zip").style.backgroundColor = "#ffffff;"
documetn.getElementById("zipWarn").innerHTML = "";
}
- Creating the Table—For organizing and laying-out our form, we are going to start with a table similar to one we have used in the past: