Sie sind auf Seite 1von 271

IBM Global Business Services

Copyright IBM Corporation 2009





HTML Forms
&
JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Welcome!
IBM Global Business Services
Copyright IBM Corporation 2009
Day 1
IBM Global Business Services
Copyright IBM Corporation 2009
Housekeeping
Breaks
Washrooms
Transportation / parking
No pagers or cell phones
Participation
Parking lot issues
Questions

4 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Course objectives
After completing this course, you should be able to:
Create HTML Forms
Put in your own words an introduction to JavaScript
Explain JavaScript operators and expressions
Define flow control and functions
Identify objects and arrays
Describe document object model
Describe Cookies
Explain session outline
5 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
6 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Developing
HTML Forms
IBM Global Business Services
Copyright IBM Corporation 2009
Form
An HTML form is a section of a document containing normal content, markup,
special elements called controls (checkboxes, radio buttons, menus, etc.),
and labels on those controls.
Users generally "complete" a form by modifying its controls (entering text,
selecting menu items, etc.), before submitting the form to an agent for
processing (e.g., to a Web server, to a mail server, etc.)
IBM Global Business Services
Copyright IBM Corporation 2009
Form (Contd.)
A form is defined with the <form> tag.
IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls
TextField:
Are used to accept user input. It is a single line input control.
CheckBox
Checkboxes are used when you want the user to select one or more
options of a limited number of choices.
RadioButton
Radio Buttons are used when you want the user to select one of a limited
number of choices.
Select
Are used when you want users to choose options from a selectable lists.
TextArea
Are used to accept user input. TextArea allows entry of multiple lines.


IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls (Contd.)
PushButton
Each push button may have client side script associated with the
element's event attributes. When an event occurs (e.g., the user presses
the button, releases it, etc.), the associated script is triggered.
Submit Button
When activated, a submit button submits a form. A form may contain more
than one submit button.
Reset Button
When activated, a reset button resets all controls to their initial values.

IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls (Contd)
Form
Component Tag Usage Output
TextField <input> type name value <input type="text" name="t1" value="Paul">
Checkbox <input> type name value <input type="checkbox" name="c1" value="v1">
RadioButton <input> type name value <input type="radio" name="r1" value="v2">
<select> name
<option> value
TextArea
<textarea> row col name <textarea name="n1" row="5" col="20">
<input> type name value <input type="button" name="b1" value="Click">
<input type="submit" name="s1" value="Submit">
<input type="reset" value="Reset">
PushButton
Attribute
ComboBox
<select name="s1"><option value="v1">Display
item</option></select>
Paul
Select an item
Click
Submit
Reset
IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls using Attributes:
INPUT Attribute definitions
type = text|password|checkbox|radio|submit|reset|file|hidden|image|button
This attribute specifies the type of control to create. The default value for
this attribute is "text".
name = cdata
This attribute assigns the control name.
value = cdata
This attribute specifies the initial value of the control. It is optional except
when the type attribute has the value "radio" or "checkbox".
size = cdata
This attribute tells the initial width of the control. The width is given in
pixels except when type attribute has the value "text" or "password". In
that case, its value refers to the (integer) number of characters.
IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls using Attributes:
INPUT Attribute definitions (Contd )
maxlength = number
When the type attribute has the value "text" or "password", this
attribute specifies the maximum number of characters the user may
enter. This number may exceed the specified size, in which case the
user should offer a scrolling mechanism. The default value for this
attribute is an unlimited number.
Checked
When the type attribute has the value "radio" or "checkbox", this
boolean attribute specifies that the button is on.
src = uri
When the type attribute has the value "image", this attribute specifies
the location of the image to be used to decorate the graphical submit
button.
IBM Global Business Services
Copyright IBM Corporation 2009
Form Controls using Attributes:
SELECT Attribute definitions
name = cdata
This attribute assigns the control name.
size = number
If a SELECT element is presented as a scrolled list box, this attribute
specifies the number of rows in the list that should be visible at the
same time.
Multiple
If set, this boolean attribute allows multiple selections. If not set, the
SELECT element only permits single selections.

IBM Global Business Services
Copyright IBM Corporation 2009
Pre Selected Options:
Zero or more choices may be pre-selected for the user. Users
should determine which choices are pre-selected as follows:
If no OPTION element has the selected attribute set, the
initial state has the first option selected.
If one OPTION element has the selected attribute set, it
should be pre-selected.
If the SELECT element has the multiple attribute set and
more than one OPTION element has the selected attribute
set, they should all be pre-selected.
It is considered an error if more than one OPTION element
has the selected attribute set and the SELECT element does
not have the multiple attribute set.
IBM Global Business Services
Copyright IBM Corporation 2009
Example of a Form
<html>
<head>
<title>
Form Example</title>
</head>
<body bgcolor=pink >
<center>
<h3> Data Entry Form</h3>
<form>
<table>
<tr><td>Name</td><td> <input type="text"
name="t1"> </td></tr>
<tr><td>Gender</td><td> <input type="radio"
name=r1 value=m> Male
<input type="radio" name=r1
value=f>Female</td></tr>

<tr><td>Qualification</td><td><select
name=s>
<option >Select</option>
<option value=M.Sc>M Sc</option>
<option value=M.A.>MA</option>
<option
value="other">other</option></select>
</td></tr>
<tr><td> <input type="submit"
value="submit"> </td>
<td> <input type="reset" value="reset">
</td></tr>
</table>
</center>
</form>
</body>
</html>




IBM Global Business Services
Copyright IBM Corporation 2009
Output of the Form
IBM Global Business Services
Copyright IBM Corporation 2009
Fieldset & Legend Tag
The fieldset tag is used to group the form elements whilst the legend
tag provides a label for the fieldset.

The HTML legend tag is used for labelling the fieldset element.

By using the fieldset tag and the legend tag, you can make your
forms much easier to understand for your users.

IBM Global Business Services
Copyright IBM Corporation 2009
Output Required
IBM Global Business Services
Copyright IBM Corporation 2009
Code Snippet
<html>
<body>
<fieldset style="text-align:right;">
<legend><b>Address Details</b></legend>
Favorite Address <input type="text" /><br/>
Least Favorite Address <input type="text" /><br/>
Current Address <input type="text" /><br/>
Your Next Address <input type="text" /><br/>
</fieldset>
<br>

<fieldset align="left">
<legend>Personal Info</legend>
Name : <input type="text">
Age : <input type="text">
Gender :
<input type="radio"
name="r1">Male
<input type="radio"
name="r1">Female
</fieldset>
</body>
</html>
IBM Global Business Services
Copyright IBM Corporation 2009
<fieldset> tag is used to group the form elements
<html>
<body>
<fieldset style="text-align:right;">
<legend><b>Address Details</b></legend>
Favorite Address <input type="text" /><br/>
Least Favorite Address <input type="text" /><br/>
Current Address <input type="text" /><br/>
Your Next Address <input type="text" /><br/>
</fieldset>
<br>

<fieldset align="left">
<legend>Personal Info</legend>
Name : <input type="text">
Age : <input type="text">
Gender :
<input type="radio"
name="r1">Male
<input type="radio"
name="r1">Female
</fieldset>
</body>
</html>
IBM Global Business Services
Copyright IBM Corporation 2009
<legend> tag is used give a suitable label to the group.
<html>
<body>
<fieldset style="text-align:right;">
<legend><b>Address Details</b></legend>
Favorite Address <input type="text" /><br/>
Least Favorite Address <input type="text" /><br/>
Current Address <input type="text" /><br/>
Your Next Address <input type="text" /><br/>
</fieldset>
<br>

<fieldset align="left">
<legend>Personal Info</legend>
Name : <input type="text">
Age : <input type="text">
Gender :
<input type="radio"
name="r1">Male
<input type="radio"
name="r1">Female
</fieldset>
</body>
</html>
IBM Global Business Services
Copyright IBM Corporation 2009
Given a Label using legend tag
Created groups using fieldset tag
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
25 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Introduction to JavaScripts
What is JavaScript?
JavaScript is a scripting language created by Netscape




What is a
scripting
language?
Scripting language is a lightweight
programming language.
Scripting languages are not needed
to be compiled.
The language is interpreted at
runtime.


26 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Introduction to JavaScript (continued)
A JavaScript is usually directly embedded in an HTML page.
External JavaScripts can be created which can be used by HTML pages.
JavaScript adds interactivity to HTML pages.
JavaScript's are integrated into the browsing environment.




27 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Is
JavaScript
same as
Java?
Java is a programming language
which requires compilation and
interpretation.
Java is used to make large scale
applications.
JavaScript is a scripting language
which just requires interpretation. The
script is some set of commands which
the browser interprets.
JavaScript is used to add interactivity
in HTML Pages.

Introduction to JavaScript (continued)
28 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Types of JavaScript
Client-Side JavaScript (CSJS) This is an extended version of JavaScript
that enables the enhancement and manipulation of web pages and client
browsers.
Server-Side JavaScript (SSJS) This is an extended version of JavaScript
that enables back-end access to databases, file systems, and servers.
Core JavaScript This is the base JavaScript language.

29 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Core JavaScript
Core JavaScript encompasses all of the statements, operators, objects, and
functions that make up the basic JavaScript language.
The following objects are part of core JavaScript:
array
date
math
number
string

30 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Client-side Java scripting
CSJS is composed of core JavaScript and many additional objects, such as
the following:
Document
Form
Frame
Window
Navigator
History

31 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Server side JavaScript
SSJS is composed of core JavaScript and additional objects and functions for
accessing databases and file systems, sending e-mail, and so on.
SSJS enables developers to quickly and easily create database-driven web
applications by leveraging their existing knowledge of JavaScript. It's used to
create and/or customize server-based applications by scripting the interaction
between objects.


32 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Uses of JavaScript (client side)
Menus for navigation
Form validation
Popup windows
Password protecting
Math functions
Special effects with document and background
Status bar manipulation
Messages
Mouse cursor effects
Links

33 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Client side JavaScript
Server side JavaScript
Core JavaScript



________________ is an extended
version of JavaScript that enables the
enhancement and manipulation of web
pages and client browsers.

Test your understanding
34 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Syntax rules of JavaScript
Statements may or may not contain a semicolon at the end.
Multiple statements on one line must be separated by a semicolon.
JavaScript is case sensitive.

35 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Using <script> tag
The HTML <script> tag is used to enter JavaScript into a HTML.
The <script> tag can be embedded within
<head> tag.
<body> tag.
JavaScript in the head section will be executed when called.
JavaScript in the body section will be executed while the HTML page is
loaded.
Unlimited number of JavaScripts can be placed both in head and body
section in a HTML document.
36 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Using <script> tag
Example:
<html>
<head><title>Example</title>
</head>
<body>
<script type="text/javascript">
document.write("Hello World!")
</script>
</body>
</html>
Is a standard command for writing output to
a page
37 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
How to handle older browsers
Browsers that do not support JavaScript will display the script as it is. Use the
HTML comment tag to prevent this.
Example
<script type="text/javascript">
<!--
document.write("Hello World!")
// -->
</script>
The two forward slashes at the end of comment
line (//) are a JavaScript comment symbol. This
prevents the JavaScript compiler from
compiling the line.
38 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Using an external JavaScript
A JavaScript can be written in an external file, which can be used by different
HTML pages.
The external script cannot contain the <script> tag.
The external file needs to end with the .js extension.
39 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Using external JavaScript (continued)






document.write ("This line has been
writen in the External JavaScript!!!")
External.js
<html>
<head><title>Example</title>
</head>
<body>
<script src="External.js">
</script>>
<p >
This line has been written in the
html page!!!
</p>
</body>
</html>

JavaScript.html
40 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
<script></script> is embedded within
<head> </head>
<script></script is embedded
within <body></body>
<script></script> is embedded within
<title></title>


Select the correct statement / s
Test your understanding
41 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
<script></script> is embedded within
<head> </head>
<script></script is embedded
within <body></body>
<script></script> is embedded within
<title></title>


Test your understanding
Select the correct statement / s
42 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
43 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript variables and expression
JavaScript Variables
Variable:
A variable is a symbolic name that represents some data in the memory.
A variable value can change during the execution of the JavaScript.
A variable can be referred by its name to see or change its value.
Variables are name are case sensitive.
Must begin with a letter or underscore.

44 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Rules of a variable
Variable declaration
Variables can be declared using the var statement
var <variable name>=some value
Variables can also be created without using var statement
<variable name>=some value
Example
var firstname=Samuel
OR
firstname=Samuel

45 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Data type in JavaScript
JavaScript is a loosely typed language.
Data Type of Variable need not
be specified during declaration.
Data types are automatically
converted during script
execution.


Loosely Typed?
46 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript recognizes the following type of values:

Values
string
numbers
null
boolean
9, 3.56
true or false
Samuel, Samuel J Palmisano
A special keyword which refers to nothing
Data type in JavaScript (continued)
47 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Data type in JavaScript (continued)
JavaScript 48
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript operators
Arithmetic Assignment
Conditional
String
Comparison
Logical
Operators
typeof
49 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Arithmetic
JavaScript operators (continued)
50 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Comparison
JavaScript operators (continued)
51 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Assignment
JavaScript operators (continued)
52 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Logical
JavaScript operators (continued)
53 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
String
JavaScript operators (continued)
54 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Conditional
JavaScript operators (continued)
55 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
typeof
JavaScript operators (continued)
56 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Number
String
null


x=20
x=Test
typeof(x) evaluates to
Test your understanding
57 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
58 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Flow control
Conditional statements
if statement - use this statement if you want to execute some code only if a
specified condition is true.
if...else statement - use this statement if you want 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 if you want to select one of many
blocks of code to be executed.
switch statement - use this statement if you want to select one of many blocks of
code to be executed.

59 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
While statement
60 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Break and continue statements
There are two special statements that can be used inside loops:
break.
continue.
Break
The break command will break the loop and continue executing the code
that follows after the loop (if any).
Continue
The continue command will break the current loop and continue with the
next value.
61 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example of break statement
<html>
<body>
<script type="text/javascript">
var i=0
for (i=0;i<=5;i++)
{ if (i==3){break}
document.write("The number is " + i)
document.write("<br />")
}
</script>
</body>
</html>
Result

The number is 0
The number is 1
The number is 2
62
JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example of continue statement
<html>
<body>
<script type="text/javascript">
var i=0
for (i=0;i<=5;i++)
{ if (i==3){continue}
document.write("The number is " + i)
document.write("<br />")
}
</script>
</body>
</html>
Result
The number is 0
The number is 1
The number is 2
The number is 4
The number is 5
63
JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
For loop
64 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Functions
A function is a reusable piece of code that will be executed when called for.
A function can be called from anywhere from within the page or even from
other pages if the function is stored in an external JavaScript (.js) file.
Functions can be embedded in the <head></head> and within the<body>
</body> tag.
65 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript
DialogBoxes
alert( message)
Displays an alert box with a message
defined by the string message.
Example:
alert(An Error Occurred!)

66 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
confirm(message)
When called, it will display the message
and two boxes. One box is "OK" and the
other is "Cancel". If OK is selected, a value
of true is returned, otherwise a value of
false is returned.
Example
confirm(Do you wish to Continue?)

67 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
prompt(message)
Displays a box with the message
passed to the function displayed.
The user can then enter text in the
prompt field, and choose OK or
Cancel.
If the user chooses Cancel, a NULL
value is returned. If the user chooses
OK, the string value entered in the
field is returned.
Example:
Prompt (enter your Name)



68 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
Conversion Functions
eval(string)
Converts a string to an integer or a float value.
Example:
x=20
y=eval(x)+10
y contains the value 30

69 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
isNaN(value)
If the value passed is not a number then a boolean value of true is returned else
the boolean value of false is returned.
Example
x=Samuel
y=isNaN(x)
The value stored in y is true


70 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
parseInt(string)
Converts a string to an integer returning the first integer encountered which is
contained in the string.
Example:
x=77AB67
y=parseInt(x)
y stores the value 77


71 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Predefined functions in JavaScript (continued)
parseFloat(string)
Converts a string to an float value .
Example
x=77.5AB67
y=parseFloat(x)
y stores the value 77.5


72 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
User defined functions
73 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
User defined functions (continued)
74 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
User defined functions (continued)
75 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Events
76 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Events (continued)
77 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Event handlers
78 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Common event handlers
79 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Common event handlers (continued)
80 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Common event handlers (continued)
onLoad and onUnload
The onload and onUnload events are triggered when the user enters or leaves the
page.
The onload event is also triggered when the image is loaded.
The showstatus() function will be called when a user enters a page
<body onload=showStatus()>
81 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
onFocus, onBlur and onChange
The onFocus, onBlur and onChange events are often used in combination with
validation of form fields.

The checkEmail() function will be called whenever the user changes the content of the field:

<input type="text" size="30" id="email" onchange="checkEmail()">;
Common event handlers (continued)
82 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
onSubmit
The onSubmit event is used to validate ALL form fields before submitting it.
The checkForm() function will be called when the user clicks the submit button in the form.
<form method="post" action="xxx.htm" onsubmit="return checkForm()">
Common event handlers (continued)
83 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
onMouseOver and onMouseOut
onMouseOver and onMouseOut are often used to create "animated" buttons.
An alert box appears when an onMouseOver event is detected:
<a href="http://www.ibm.com" onmouseover="alert('An onMouseOver
event)> <img src=ibmlogo.gif" width="100" height="30"> </a>
Common event handlers (continued)
84 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
85 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
86 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example
87 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
88 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
89 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
90 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
91 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
92 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)

function Addition(x,y)
{
var x1=document.form1.text1.value
var y1=document.form1.text2.value
var Ans=document.form1.text3.value
var temp=x1+y1
}



93 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)


function Addition (x,y)
{
var x1=parseInt(x)
var y1=parseInt(y)
var Ans=document.form1.text3.value
var temp=x1+y1
}



94 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
function Addition (x,y)
{
var x1=parseInt(x)
var y1=parseInt(y)
var Ans=document.form1.text3.value
var temp=x1+y1
}



<INPUT TYPE=button value= +op
onClick=Addition(text1.value,text2.value)>

95 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example (continued)
function Addition (x,y)
{
var x1=parseInt(x)
var y1=parseInt(y)
var Ans=document.form1.text3.value
var temp=x1+y1
if(Ans==temp)
{
alert(Your Result agrees with JavaScript!)
document.form1.text1.value=
document.form1.text2.value=
document.form1.text3.value=
}
else
{
alert(No, JavaScript evalutes this operation differently)
document.form1.text3.value=
}
}
96 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
97 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
98 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
A complete program
<html>
<head>
<script type="text/javascript">
function myfunction(txt)
{
alert(txt)
}
</script>
</head>
<body>
<form>

<input type="button"
onClick="myfunction('Good Morning!')"
value="In the Morning">

<input type="button"
onClick="myfunction('Good Evening!')"
value="In the Evening">
</form>
<p>
When you click on one of the buttons, a
function will be called. The function will
alert
the argument that is passed to it.
</p>
</body>
</html>
99 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Output
100 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
myfunction (txt) receives Good Morning!
101 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
myfunction (txt) receives Good Evening !
102 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
103 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects
JavaScript is not a true Object Oriented language as C++ or Java but
rather an Object Based language.
Objects in JavaScript are software entities such as the browser window
or an HTML document.


104 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
105 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
106 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
107 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
108 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
109 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
110 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
111 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
112 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript objects (continued)
113 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Instances of computer objects (continued)
114 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects
115 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
116 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
117 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
Boolean object
This object is used to convert a non boolean value to a boolean value.
The Boolean object is an Object Wrapper for a Boolean value
Boolean object is defined with the new keyword
var BooleanObj=new Boolean()

118 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript Core Objects (contd.)
All the following lines of code create Boolean objects with an initial value of
false :
var myBoolean=new Boolean()
var myBoolean=new Boolean(0)
var myBoolean=new Boolean(null)
var myBoolean=new Boolean("")
var myBoolean=new Boolean(false)
var myBoolean=new Boolean(NaN)

119 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
All the following lines of code create Boolean objects with an initial value of
true:
var myBoolean=new Boolean(true)
var myBoolean=new Boolean("true")
var myBoolean=new Boolean("false")
var myBoolean=new Boolean("Richard")
120 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
121 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
122 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
Boolean Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
123 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
Date Object
The Date object is used to work with dates and times.
An instance of the Date object with the "new" keyword.
An instance of Date object can be created as:
var myDate=new Date()
var myDate=new Date("Month dd, yyyy hh:mm:ss")
var myDate=new Date("Month dd, yyyy")
var myDate=new Date(yy,mm,dd,hh,mm,ss)
var myDate=new Date(yy,mm,dd)
var myDate= new Date(milliseconds)


124 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
125 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
126 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
127 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
128 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
129 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
130 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
131 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
132 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
133 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Commonly used methods of the Date Object
JavaScript core objects (continued)
134 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
135 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
JavaScript core objects (continued)
136 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
137 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
138 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
139 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
140 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
JavaScript core objects (continued)
141 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Math Object
Math object allows to perform common mathematical functions.
The Math object includes several Mathematical values and functions.
The Math object need not be defined before using it.
JavaScript core objects (continued)
142 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Mathematical values provided by JavaScript
Math.E
Math.PI
Math.SQRT2
Math.SQRT1_2
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E

JavaScript core objects (continued)
143 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Methods of Math object
JavaScript core objects (continued)
144 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
145 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Test your understanding
146 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
JavaScript core objects (continued)
147 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
148 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
149 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
JavaScript core objects (continued)
150 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Boolean
Math
Date
Function
Number
String
1. Boolean
2. Date
3. Function
4. Math
5. Number
6. String
JavaScript core objects (continued)
151 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
String object
The String object is used to manipulate a stored piece of text.
String objects must be created using the new keyword.
JavaScript automatically converts the string primitive to a temporary String object
A string literal can be embedded within a single or double quotation marks.

JavaScript core objects (continued)
152 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
String primitives and String objects give different results when evaluated as
JavaScript.
Primitives are treated as source code, but String objects are treated as a
character sequence object.
s1 = "2 + 2 // creates a string primitive
s2 = new String("2 + 2") // creates a String object
eval(s1) // returns the number 4
eval(s2) // returns the string "2 + 2
eval(s2.valueOf()); // returns the number 4

JavaScript core objects (continued)
153 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Common Methods of String Object
JavaScript core objects (continued)
154 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Defining Arrays
An Array object is used to store a set of values in a single variable name.
An Array object is created with the new keyword.
An array can be created as:
var MyArray=new Array()
An array can also be created by specifying the array size.
var MyArray=new Array(3)


155 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Arrays (continued)
Data can be entered into an array as:
var MyArray=new Array()
MyArray[0]=Paul
MyArray[1]=Sam
MyArray[2]=Niel
Data can also be entered into an array as:
var MyArray=new Array(Paul,Sam, Niel)

156 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Arrays (continued)
Accessing Arrays
You can refer to a particular element in an array by referring to the name of the
array and the index number.
The index number starts at 0 .
var MyArray=new Array()
Myarray [0]
The starting index
157 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
158 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object model
The DOM is a programming API for documents.
It is based on an object structure that closely resembles the structure of the
documents it models.
For instance, consider this table, taken from an HTML document:
<TABLE>
<TBODY>
<TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR>
<TR> <TD>Over the River, Charlie</TD> <TD>Dorian</TD> </TR>
</TBODY>
</TABLE>


159 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object model (continued)
Graphical representation of the DOM of the example table
160 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
With JavaScript you can restructure an entire HTML document. You can add,
remove, change, or reorder items on a page.
To change anything on a page, JavaScript needs access to all elements in the
HTML document. This access, along with methods and properties to add,
move, change, or remove HTML elements, is given through the Document
Object Model (DOM).
In 1998, W3C published the Level 1 DOM specification. This specification
allowed access to and manipulation of every single element in an HTML page.
All browsers have implemented this recommendation, and therefore,
incompatibility problems in the DOM have almost disappeared.
Document object model (continued)
161 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document Tree
Document object model (continued)
162 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
How to access the nodes in an HTML
You can find the element you want to manipulate in several ways:
By using the getElementById() and getElementsByTagName() methods
By using the parentNode, firstChild, and lastChild properties of an element node

163 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Navigator object
Navigator object is the object representation of the client internet browser or
web navigator program that is being used.
This is a top level object to all others object in DOM hierarchy.



164 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Navigator object properties
appCodeName The name of the browsers code such as Internet
Explorer
appName The name of the browser.
appVersion The version of the browser.
plugins An array of plug-ins supported by the browser and installed on
the browser.
cpuClass The type of CPU which may be x86.
cookieEnabled A boolean value of true or false depending on whether
Cookies are enabled in the browser.



165 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Navigator object methods
JavaEnabled() Returns a boolean telling if the browser has JavaScript
enabled.



166 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Window object and collections
Window object
The Window object is the top level object in the JavaScript hierarchy.
The Window object represents a browser window.
A Window object is created automatically with every instance of a <body> or
<frameset> tag.
Window object collections
Frames[] Returns all named frames in the window.

167 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Window object properties
name sets of return the name of the window.
status sets or returns the name of the window.
length sets or returns the number of frames in the window.
self returns a reference to the current window.
Status bar - sets whether or not the browsers status bar should be
visible.
toolbar - sets whether or not the browsers toolbar should be visible.
closed Returns all named frames in the window
document
history

168 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Window object methods
open() Opens a new browser window.
createPopup() Creates a popup window.
setInterval(code,millisec[,lang]) Evaluates an expression at specified
intervals.
clearInterval(id_of_setInterval) cancels a timeout that is set with the
setInterval() method.
setTimeout(code,millisec[,lang]) Evaluates an expression after a
specified number of milliseconds.
clearTimeout(id_of_setTimeout) cancels a timeout that is set with the
setTimeout() method.
focus() sets the focus to the current window.
blur() removes focus from the current window.
close() closes the current window.
169 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Frame object
Frame object represents an HTML frame.
For each instance of a <frame> tag in an HTML document, a Frame object is
created.

170 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
In
Document Object
Model
Frames are
instances of
Window object

Frame object (continued)
171 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
172 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
173 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
174 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
175 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
176 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
177 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
178 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
179 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
180 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
181 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
182 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
183 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
184 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
185 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
186 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Frame object (continued)
187 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
188 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
189 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object
The document object represents the entire HTML document and can be
used to access all elements in a page.
The document object is part of the window object and is accessed
through the window.document property or simply document.
190 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object collections
anchors[] - Returns a reference to all Anchor objects in the document.
forms[] - Returns a reference to all Form objects in the document.
images[] - Returns a reference to all Image objects in the document.
links[] - Returns a reference to all Area and Link objects in the document.



191 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object properties
Body gives direct access to the <body> element.
Cookie Sets or returns all Cookies associated with the current document.
lastModified Returns the date and time a document was last modified.
Title Returns the title of the current document.
URL Returns the URL of the current document.



192 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Document object methods
write() - Writes HTML expressions or JavaScript code to a document
writeln() Similar to write(), with the addition of writing a new line character after each
expression.
open() - Opens a stream to collect the output from any document.write() or
document.writeln() methods.
close() - Closes an output stream opened with the document.open() method, and
displays the collected data
getElementByID() Returns a reference to the first object with the specified id.
getElementsByName() Returns a collection of objects with the specified name.
getElementsByTagName() Return a collection of objects with the specified tag
name.



193 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Location object is an JavaScript object it is not an DOM object.
The Location object is automatically created by the JavaScript runtime engine
and contains information about the current URL.
The Location object is part of the Window object and is accessed through the
window.location property.



Location object
194 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
195 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
196 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
197 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
198 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
199 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Location object (continued)
200 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Location object methods
Assign (url) It loads a new document.
Reload() the current document.
Replace() Replaces the current document with a new one.

201 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Location object example
<html><body><script>
switch (window.location.protocol)
{
case "http:":
document.write("From Web<BR>\n")
break
case "file:":
document.write("From Local computer<BR>\n")
break
default:
document.write("Unknown Source<BR>\n")
break
}
</script></body></html>


202 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Output:
If Accessed from the Local File System

Location object example
JavaScript
203
IBM Global Business Services
Copyright IBM Corporation 2009
Output:
If the page is delivered by a Web Server.

Location object example
JavaScript
204
IBM Global Business Services
Copyright IBM Corporation 2009
History object
History object is a JavaScript object.
The History object is automatically created by the JavaScript runtime engine
and consists of and array of URLs.
It is a part of window object and accessed through window.history property.
JavaScript
205
IBM Global Business Services
Copyright IBM Corporation 2009

History object
206 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

History object
207 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

History object
208 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

History object
209 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
210 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
211 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model
212 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
213 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
214 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
215 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
216 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
217 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
218 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
219 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
220 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
221 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
222 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
223 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
224 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
225 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
226 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
227 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
228 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
229 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
230 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Form object model (continued)
231 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
232 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
233 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
234 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Test your understanding
235 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module1 : HTML Forms
Module 2: Introduction to JavaScript
Module 3: JavaScript operators and expressions
Module 4: Flow control and functions
Module 5: Objects and arrays
Module 6: Document object model
Module 7: Cookies
Module 8: Session outline
236 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Cookies
A cookie can store a small amount of information about a user visiting a site.
A cookie is a small text file that is stored on the site visitor's computer by their
browser .
Because the cookie is stored on the users computer, it does not require any
server space no matter how many users you have .
With JavaScript, you can both create and retrieve cookie values.
237 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Cookies (continued)
You can use Cookies to:
save user preferences.
customize data.
remember the last visit.
Keep track of items in an order while a user browses.
Remember the information your sites visitors gave last time.
Cookies can be created, read and erased by JavaScript. They are accessible
through the property document.cookie

238 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
What does a cookie contain?
Name value pair:
The first element in a cookie is a "name" attribute, followed by the data to be
stored in the cookie.
The expiry date:
Specifies how long the cookie is valid for.



Cookies (continued)
239 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
What does a cookie contain?
The path:
This states where the cookie may be accessed from on the Web site. Most
often, this is set to the server's document root.
The domain:
The "domain" attribute allows you to set a domain name for the cookie. Again,
this is optional.


Cookies (continued)
240 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
First
Second
Third

The name-value pair is the
_____________ element in the
Cookie

Questions
241 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

The name-value pair is the
_____________ element in the
Cookie

Answer
First
Second
Third
242 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Cookies and security
Turn up security level on your browser to disable Cookies or prompt for
cookie.
Delete the content of a cookie and then write protect it.
Use 3
rd
party software:
Cookie Pal, CookieMaster, CookieCrusher to monitor, browse and edit Cookies.
243 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Format of cookie
First the name value pair.
Then a semicolon and a space.
Then the expiry date.
Expiry date should be in UTC format.
Then again a semicolon and a space.
Then the path.
244 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Format of cookie (continued)
document.cookie=<name of cookie>=<value of cookie>;<blank
space>expires=<date in UTC format>;<blank space>path=<path location>




Example
document.cookie = user=Paul; expires=Thu, 2 Aug 2008 20:47:11 UTC;
path=/'
245 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example of setting a cookie
<html>
<head>
<script language="JavaScript">
function setCookie(name, value) {

var exp=new Date("January 31,2008")
document.cookie=name+"="+escape

(value)+";
expires="+exp.toGMTString() +";
path=/
document.write(Cookie has been set)
)



</script></head>
<body>
<form>
<input type="button" value="Set a
Cookie"
onClick="setCookie(user',Paul
Smith')">
</form>
</body>
</html>
Set an expiry date
What does the
escape function
do?
246 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Escape () function
There's no escape!
Strictly speaking, we should be escaping our cookie values -- encoding non-
alphanumeric characters such as spaces and semicolons.
This is to ensure that our browser can interpret the values properly.
Fortunately this is easy to do with JavaScript's escape() function.
For example
document.cookie = "username=" + escape(Paul Smith") + "; expires=15/02/2003
00:00:00";
247 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Example of setting a cookie
<html>
<head>
<script language="JavaScript">
function setCookie(name, value) {

var exp=new Date("January 31,2008")
document.cookie=name+"="+escape
(value)+"; expires="+exp.toGMTString()
+"; path=/
document.write(Cookie has been set)
)



</script>
</head>
<body>
<form>
<input type="button" value="Set a
Cookie"
onClick="setCookie(user',Paul
Smith')">
</form>
</body>
</html>
Setting the cookie
The value stored is
user=Paul Smith
248 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Reading a cookie
<html>
<head>
<script language="JavaScript">
function readCookie() {

var ca = document.cookie
document.write(ca)

}

</script>
</head>
<body>
<form><input type="button"
value="read"
onClick="readCookie()">
</form>
</body>
</html>



Returns the cookie
name value pair
Value retrieved is
user=Paul Smith
249 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Extracting only the value from the Cookie
<html><head>
<script language="JavaScript">
function readCookie(c_name)
{
if (document.cookie.length>0)
{c_start=document.cookie.indexOf(c_name +
"=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
document.write(
document.cookie.substring(c_start,
c_end))
}
}
}
</script>
</head>
<body>
<form> <input type="button"
value="read"
onClick="readCookie('user')">
</form>
</body></html>



Displays the value:
Paul Smith
250 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Delete Cookies
<html>
<head>
<script language="JavaScript">
function deleteCookie ( cookie_name)
{
var cookie_date = new Date ( )
cookie_date.setTime (
cookie_date.getTime() - 1 )
document.cookie = cookie_name +=
"=; expires=" +
cookie_date.toGMTString()
}
</script>
</head>

<body>
<form>
<input type="button" value=delete"
onClick="deleteCookie(user')">
</form>
</body>
</html>


The cookie's expiry date is set
to one second less then the
current date.
251 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Modifying a Cookie
To modify a cookie simply reset the values and use the same procedure for
setting the cookie.
Ensure that the cookie name is existing or a new cookie will be created.
252 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

Course map
Module 1: Introduction to JavaScript
Module 2: JavaScript operators and expressions
Module 3: Flow control and functions
Module 4: Objects and arrays
Module 5: Document object model
Module 6: Cookies
Module 7: Session outline
253 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Session outline
What is ajax?
Advantages and disadvantages
Xmlhttprequest
A first example
254 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Asynchronous JavaScript and XML.
Ajax is group of interrelated development techniques used for creating
interactive web applications.
It allows web applications to retrieve data from the server
asynchronously
Without interfering with the current state of the page
Data is retrieved using the XMLHttpRequest object
or, in browsers that do not support it, through the use of Remote Scripting


What is Ajax?
255 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
What is Ajax? (Continued)
Two components:
Client Side (e.g. JavaScript)
determine when to contact server
contact it
display results on page
Server side (e.g. PHP)
like normal PHP script but return specifically what is required
maybe just OK or Fail
maybe XML or HTML
256 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
XHTML and CSS for presentation
the Document Object Model for dynamic display of and interaction with
data
XML and XSLT for the interchange and manipulation of data, respectively
the XMLHttpRequest object for asynchronous communication
JavaScript to bring the above technologies together


Technologies used for Ajax
257 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009

What is Ajax?
258 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
updating page information
real-time data validation
obtaining data for a control
responding to server events
pushing data to the client
real-time interaction
real-time monitoring
auto completion
Google Suggest helped to initially
popularise Ajax in 2005

AJAX has many potential uses including:

Uses of Ajax
259 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Different pages on a website often have much common content
with traditional web-techniques, that content has to be reloaded on
every request
with Ajax a web application can request only the content that needs to
be updated
sections of pages can be reloaded individually
reduces bandwidth usage / load time

Advantages of Ajax
260 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
The use of asynchronous requests allows a client's browser to be
more interactive / respond more quickly to input
_ Application will appear faster / responsive - even if the application has not
changed on the server side
Use of Ajax reduces connections to the server, since scripts and style
sheets only have to be requested once
Ajax allows programmers to make a separation between the methods
they use to deliver information via the Internet and formats they use to
present it


Advantages of Ajax
261 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Dynamically created pages do not register themselves in a browser's history
BACK button does not return the user to an earlier state of an Ajax-enabled page
but to the last page visited
Workarounds include changing the anchor portion of the URL (following the #) when
AJAX is run and monitoring it for changes
Dynamic web page updates make it difficult for a user to bookmark a
particular state of an application
solutions to this problem exist, many of which also use the URL fragment
identifier
To keep track of, and allow users to return to, the application in a given state

Disadvantages of Ajax
262 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
XMLHttpRequest (XHR)
An API that can be used by javascript
and other web browser scripting
languages
Used to transfer XML and other text data
between a web server and a browser
Though it can do synchronous fetches, it
is almost always asynchronous
Due to the greater UI responsiveness
Examples of web apps that make use of
XMLHttpRequest include:
Google maps
Windows live's virtual
earth
Mapquests dynamic
map interface
Facebook

XMLHttpRequest (XHR)
263 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Different browsers use different methods to create the XMLHttpRequest
object
IE uses an ActiveXObject
other browsers uses the
built-in JavaScript object
XMLHttpRequest
Can use JavaScript try/catch to
handle the creation of the
XMLHttpRequest object

XMLHttpRequest (XHR): (Continued)
264 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009


<body>
<script type="text/javascript">
// JavaScript function here
...
</script>
<form name="myForm">
<h3>Simple Ajax Test</h3>
<p>Input string:
<input type="text"

onkeyup="ajaxFunction(this.value);"
name="username"
/>
</p>
<p>Backwards: <em><span
id="myElem"></span></em></p>
</form></body>

Example of HTML
265 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009


<body>
<script type="text/javascript">
function ajaxFunction(myStr) {
var xmlHttp;
try {
...
} // end of try section
xmlHttp.onreadystatechange=function() {
if(xmlHttp.readyState==4) {
document.getElementById('myElem').innerHTML =
xmlHttp.responseText;
}
}
$path = "http://www.cs.kent.ac.uk/people/staff/amlf/";
xmlHttp.open("GET",
$path + "reverse.php?str=" + myStr, true);
xmlHttp.send(null);
}
</script></body>

The whole JavaScript function
266 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Revision
Cookies are small text files that sit on your hard disk.
Cookies are created when you visit websites that use Cookies to store
information that they need (or prefer).
Websites often use Cookies to personalize the user experience - such as
remembering your name (assuming you supplied it previously) or
remembering the items in your shopping cart from previous visits.
Despite the many misconceptions about Cookies being malicious, they are
quite harmless.
Cookies can't give your personal details to other websites, or transmit a virus
or anything like that.
A cookie can only be read by the server that created it.
Websites normally use Cookies to make its users' lives easier, not harder.
267 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Reading material (AJAX)
Overview
http://en.wikipedia.org/wiki/AJAX
http://java.sun.com/developer/technicalArticles/J2EE/AJAX/index.html?cid=59754
Examples
http://www.sitepoint.com/article/remote-scripting-ajax.html
http://www.mousewhisperer.co.uk/ajax_page.html
http://www.clearnova.com/ajax/
http://www.webpasties.com/xmlHttpRequest/
AJAX based Applications
http://www.ajaxreview.com/
http://ajaxblog.com/
268 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Questions
269 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009
Summary
At the completion of this course, we see that you are now able to:
Put in your own words an introduction to JavaScript
Explain JavaScript operators and expressions
Define flow control and functions
Identify objects and arrays
Describe document object model
Describe Cookies
Explain session outline
270 JavaScript
IBM Global Business Services
Copyright IBM Corporation 2009 271
THANK YOU
JavaScript

Das könnte Ihnen auch gefallen