37
HTML Forms JavaScript Introduction / Overview Lab Homework #1 CS 183 4/8/2010

HTML Forms JavaScript Introduction / Overview Lab Homework #1

  • Upload
    ryu

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

HTML Forms JavaScript Introduction / Overview Lab Homework #1. CS 183 4/8/2010. HTML Forms. A form is an area that can contain form elements. - PowerPoint PPT Presentation

Citation preview

Page 1: HTML Forms JavaScript Introduction / Overview Lab Homework #1

HTML FormsJavaScript Introduction / OverviewLab Homework #1

CS 1834/8/2010

Page 2: HTML Forms JavaScript Introduction / Overview Lab Homework #1

HTML FormsA form is an area that can contain form

elements.Form elements are elements that allow

the user to enter information (like text fields, text area fields, drop-down menus, radio buttons, checkboxes, etc.) in a form.

A form is defined with the <form> tag. <form>.input elements.</form>

Page 3: HTML Forms JavaScript Introduction / Overview Lab Homework #1

InputThe most used form tag is the

<input> tag. The type of input is specified with

the type attribute. <form>

First name:<input type="text" name="firstname”><br />Last name:<input type="text" name="lastname”></form>

Page 4: HTML Forms JavaScript Introduction / Overview Lab Homework #1

More form elements Radio buttons <form>

<input type="radio" name="sex" value="male”> Male<br /><input type="radio" name="sex" value="female”> Female</form>

Check boxes <form>

I have a bike:<input type="checkbox" name="vehicle" value="Bike”><br />I have a car:<input type="checkbox" name="vehicle" value="Car”><br />I have an airplane:<input type="checkbox" name="vehicle" value="Airplane”></form>

Page 5: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Action AttributeWhen the user clicks on the "Submit" button,

the content of the form is sent to the server.The form's action attribute defines the name of

the file to send the content to.The file defined in the action attribute usually

does something with the received input.<form name="input" action="html_form_submit.asp" method="get">Username:<input type="text" name="user”><input type="submit" value="Submit”></form>

Page 6: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Form Tags

Page 7: HTML Forms JavaScript Introduction / Overview Lab Homework #1
Page 8: HTML Forms JavaScript Introduction / Overview Lab Homework #1

What is JavaScript? JavaScript was designed to add interactivity to HTML

pages JavaScript is a scripting language A scripting language is a lightweight programming

language JavaScript is usually embedded directly into HTML pages JavaScript is an interpreted language (means that scripts

execute without preliminary compilation) Everyone can use JavaScript without purchasing a license Not the same as Java! JavaScript's official name is ECMAScript. Try:

◦ http://www.w3schools.com/js/default.asp◦ (Slides are based on that tutorial)

Page 9: HTML Forms JavaScript Introduction / Overview Lab Homework #1

HistoryThe language was invented by Brendan Eich

at Netscape (with Navigator 2.0), and has appeared in all Netscape and Microsoft browsers since 1996.

Since 1997 standardized as ECMAScript (ECMA 262 or ISO/IEC 16262 , ECMA 290, ECMA 327 and ECMA 357 or ISO/IEC DIS 22537)

Gained lots of popularity, broad acceptanceECMAScript also in FlashThe development of the standard is still in

progress.

Page 10: HTML Forms JavaScript Introduction / Overview Lab Homework #1

What does it do?gives HTML designers a programming

tool can put dynamic text into an HTML page

◦ document.write("<h1>" + name + "</h1>")can react to eventscan read and write HTML elementscan be used to validate data in formscan be used to detect the visitor's

browsercan be used to create cookies

Page 11: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Language Properties Object based (but not object oriented) Familiar scripting syntax Not strictly typed JavaScript is case sensitive A JavaScript statement is a command to a browser It is normal to add a semicolon at the end of each executable

statement, but semicolon is optional, using EOL termination. JavaScript code is a sequence of JavaScript statements Each statement is executed by the browser in the sequence they

are written. JavaScript statements can be grouped together in blocks. Blocks start with a left curly bracket {, and ends with a right curly

bracket }. The purpose of a block is to make the sequence of statements

execute together, mostly used for grouping things together in a function or to specify a list of statements when a condition is met.

JavaScript comments: // (single line), and /* …. */ (multi-line)

Page 12: HTML Forms JavaScript Introduction / Overview Lab Homework #1

DOM (Document Object Model)Represents an object centric view

of a documentPlatform independent API for

HTML or XML elements

Page 13: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript IntegrationTo insert a JavaScript into an HTML page, we

use the <script> tagInside the <script> tag we use the type

attribute to define the scripting languageCan appear anywhere in the doc, in HEAD,

BODY, or in both<html><body><script type="text/javascript">...</script></body></html>

Page 14: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Document.write<html><body><script type="text/javascript">document.write("Hello World!");</script></body></html>

Page 15: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Support for older BrowsersBrowsers that do not support JavaScript,

will display JavaScript as page content.Use HTML comment tag to "hide" the

JavaScript.<html><body><script type="text/javascript"><!--document.write("Hello World!");//--></script></body></html>

Page 16: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Scripts in <head> Scripts to be executed when they are called, or when an event is

triggered, are placed in functions Put your functions in the head section, this way they are all in

one place, and they do not interfere with page content. <html><head><script type="text/javascript">function message(){alert("This alert box was called with the onload event");}</script></head>

<body onload="message()"></body></html>

Page 17: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Scripts in <body> If you don't want your script to be placed inside a

function, or if your script should write page content, it should be placed in the body section.

<html><head></head>

<body><script type="text/javascript">document.write("This message is written by JavaScript");</script></body>

</html>

Page 18: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Using an External JavaScript Sharing of JS over several pages possible Use include mechanism, put code in file:

◦ Save the external JavaScript file with a .js file extension◦ The external script cannot contain the <script></script>

tags!◦ To use the external script, point to the .js file in the "src"

attribute of the <script> tag: <html><head><script type="text/javascript" src="xxx.js"></script></head><body></body></html>

Page 19: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Variables JavaScript variables are used to hold values or expressions A variable can have a short name, like x, or a more descriptive name, like

personName. Variable names are case sensitive (y and Y are two different variables) Variable names must begin with a letter or the underscore character You can declare JavaScript variables with the var statement:

◦ var x;var personName;

After the declaration shown above, the variables are empty (they have no values yet), or◦ var x=5;

var personName=”Hans"; When you assign a text value to a variable, use quotes around the value If you don’t declare a variable they will be automatically declared:

◦ X = 5; If you redeclare a JavaScript variable, it will not lose its original value.

◦ var x=5;var x;

You can do arithmetic operations with JavaScript variables:◦ z = x + 5;

Page 20: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript OperatorsThe assignment operator = is

used to assign values to JavaScript variables

The arithmetic operator + is used to add values together.

y=5;z=2;x=y+z;

The value of x, after the execution of the statements above is 7.

Page 21: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Arithmetic OperatorsAssume, y=5

Page 22: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Assignment OperatorsAssume x=10, y=5

Page 23: HTML Forms JavaScript Introduction / Overview Lab Homework #1

The + Operator on StringsTo add two or more string variables together,

use the + operator.txt1="What a very";txt2="nice day";txt3=txt1+txt2;

variable txt3 contains "What a verynice day”If you add a number and a string, the result will

be a string!x=5+5;document.write(x);

x="5"+"5";document.write(x);

Page 24: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Comparison OperatorsAssume x=5

if (age<18) document.write("Too young");

Page 25: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Logical OperatorsAssume x=6, y=3

Page 26: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Conditional OperatorThe conditional operator assigns

a value to a variable based on some condition.

variablename=(condition)?value1:value2 

Example:◦ greeting=(visitor=="PRES")?"Dear President ":"Dear ";

Page 27: HTML Forms JavaScript Introduction / Overview Lab Homework #1

If … Else StatementsConditional statements are used to perform

different actions based on different conditions.if statement - use this statement to execute

some code only if a specified condition is trueif...else statement - use this statement to

execute some code if the condition is true and another code if the condition is false

if...else if....else statement - use this statement to select one of many blocks of code to be executed

switch statement - use this statement to select one of many blocks of code to be executed

Page 28: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Example (if … else) <script type="text/javascript">//If the time is less than 10, you will get a "Good morning" greeting.//Otherwise you will get a "Good day" greeting.

var d = new Date();var time = d.getHours();

if (time < 10)  {  document.write("Good morning!");  }else  {  document.write("Good day!");  }</script>

Page 29: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Example (switch) <script type="text/javascript">

//You will receive a different greeting based//on what day it is. Note that Sunday=0,//Monday=1, Tuesday=2, etc.

var d=new Date();theDay=d.getDay();switch (theDay){case 5:  document.write("Finally Friday");  break;case 6:  document.write("Super Saturday");  break;case 0:  document.write("Sleepy Sunday");  break;default:  document.write("I'm looking forward to this weekend!");}</script>

Page 30: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Popup Box An alert box is often used if you want to make sure information comes

through to the user. When an alert box pops up, the user will have to click "OK" to proceed. <html>

<head><script type="text/javascript">function show_alert(){alert("I am an alert box!");}</script></head><body>

<input type="button" onclick="show_alert()" value="Show alert box" />

</body></html>

Page 31: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Confirm Box A confirm box is often used if you want the user to verify or accept something. When a confirm box pops up, the user will have to click either "OK" or "Cancel" to

proceed. <html>

<head><script type="text/javascript">function show_confirm(){var r=confirm("Press a button");if (r==true)  {  alert("You pressed OK!");  }else  {  alert("You pressed Cancel!");  }}</script></head><body>

<input type="button" onclick="show_confirm()" value="Show confirm box” >

</body></html>

Page 32: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript Functions To keep the browser from executing a script when the

page loads, you can put your script into a function. A function contains code that will be executed by an

event or by a call to the function. You may call a function from anywhere within a page (or

even from other pages if the function is embedded in an external .js file).

Functions can be defined both in the <head> and in the <body> section of a document. However, to assure that a function is read/loaded by the browser before it is called, it could be wise to put functions in the <head> section.

function functionname(var1,var2,...,varX){some code}

Page 33: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Example <html><head><script type="text/javascript">function displaymessage(){alert("Hello World!");}</script></head>

<body><form><input type="button" value="Click me!" onclick="displaymessage()”></form></body></html>

Page 34: HTML Forms JavaScript Introduction / Overview Lab Homework #1

The Return Statement The return statement is used to specify the value that is returned

from the function. <html>

<head><script type="text/javascript">function product(a,b){return a*b;}</script></head>

<body><script type="text/javascript">document.write(product(4,3));</script>

</body></html>

Page 35: HTML Forms JavaScript Introduction / Overview Lab Homework #1

JavaScript loopsfor - loops through a block of code a

specified number of times, used when you know in advance how many times the script should run

for (var=startvalue;var<=endvalue;var=var+increment){code to be executed}

while - loops through a block of code while a specified condition is true

while (var<=endvalue)  {  code to be executed  }

Do .. While(), break, continue also exist and can be used accordingly

Page 36: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Will cover later:◦For .. In◦Events◦Try .. Catch◦Throw◦Special Characters◦Objects

Page 37: HTML Forms JavaScript Introduction / Overview Lab Homework #1

Lab Homework #1 Add some JavaScript to your HTML page from lab homework #0 to validate

form input:◦ Add a HTML form to it for entering a person’s first name, last name, email, age◦ Form’s action attribute should be empty, since we don’t have PHP yet to do

something useful◦ Upon submission (user clicks submit button) a JS function should be called◦ The function should verify:

Does the first name exist? Does the last name exist? Does the email exist, and does it have a @? Does the age exist and is it a valid number?

◦ When there is an error in the form data, an alert box should be shown, prompting the user to fix the particular error

◦ Hint: use document.getElementsByName to access form field values Use return ‘false’ to prevent form submission

◦ If there is no error an alert box should be shown that everything is correct, and then submission should be done (we just simulate this for now)

◦ Submission as in previous lab homework, need URL of the HTML file◦ Will use firebug to debug, script should have no JS errors◦ Due: Next Tuesday in class (4/13)