IBM Global Business Services
HTML Forms & JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Welcome!
Copyright IBM Corporation 2009
IBM Global Business Services
Day 1
Copyright IBM Corporation 2009
IBM Global Business Services
Housekeeping
Breaks Washrooms Transportation / parking No pagers or cell phones Participation Parking lot issues Questions
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Developing HTML Forms
Copyright IBM Corporation 2009
IBM Global Business Services
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.)
Copyright IBM Corporation 2009
IBM Global Business Services
Form (Contd.)
A form is defined with the <form> tag.
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
Form Controls (Contd)
Form Component TextField Checkbox RadioButton ComboBox TextArea
Tag <input> <input> <input> <select> <option> type type type name value
Attribute name name name
Usage value <input type="text" name="t1" value="Paul"> value <input type="checkbox" name="c1" value="v1"> value <input type="radio" name="r1" value="v2"> <select name="s1"><option value="v1">Display item</option></select> name <textarea name="n1" row="5" col="20"> value <input type="button" name="b1" value="Click"> <input type="submit" name="s1" value="Submit"> <input type="reset" value="Reset">
Output
Paul
O Select an item
<textarea> row <input> type
col name
Click
Submit
PushButton
Reset
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
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>
Copyright IBM Corporation 2009
IBM Global Business Services
Output of the Form
Copyright IBM Corporation 2009
IBM Global Business Services
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.
Copyright IBM Corporation 2009
IBM Global Business Services
Output Required
Copyright IBM Corporation 2009
IBM Global Business Services
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>
Copyright IBM Corporation 2009
IBM Global Business Services
<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>
Copyright IBM Corporation 2009
IBM Global Business Services
<legend> tag is used give a suitable label to the group.
<html> <body> <fieldset style="text-align:right;"> <legend><b>Address Details</b></legend> <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> <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>
Copyright IBM Corporation 2009
IBM Global Business Services
Given a Label using legend tag
Created groups using fieldset tag
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Introduction to JavaScripts
What is JavaScript?
JavaScript is a scripting language created by Netscape Scripting language is a lightweight programming language.
What is a What is a scripting scripting language? language?
Scripting languages are not needed to be compiled. The language is interpreted at runtime.
26
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Introduction to JavaScript (continued)
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.
Is JavaScript same as Java?
28
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
Client side JavaScript ________________ is an extended version of JavaScript that enables the enhancement and manipulation of web pages and client browsers. Server side JavaScript Core JavaScript
34
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
<script></script> is embedded within Select the correct statement / s <head> </head> <script></script is embedded within <body></body> <script></script> is embedded within <title></title>
41
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
<script></script> is embedded within Select the correct statement / s <head> </head> <script></script is embedded within <body></body> <script></script> is embedded within <title></title>
42
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Data type in JavaScript
JavaScript is a loosely typed language. Data Type of Variable need not be specified during declaration. Loosely Typed? Loosely Typed? Data types are automatically converted during script execution.
46
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Data type in JavaScript (continued)
JavaScript recognizes the following type of values:
Values
numbers string
boolean true or false null
9, 3.56
Samuel, Samuel J Palmisano
A special keyword which refers to nothing
47
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Data type in JavaScript (continued)
48
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators
Operators
Arithmetic
Assignment
Conditional
String Comparison typeof Logical
49
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
Arithmetic
50
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
Comparison
51
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
Assignment
52
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
Logical
53
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
String
54
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
Conditional
55
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript operators (continued)
typeof
56
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
x=20 x=Test typeof(x) evaluates to
Number String null
57
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
While statement
60
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
For loop
64
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
User defined functions
73
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
User defined functions (continued)
74
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
User defined functions (continued)
75
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Events
76
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Events (continued)
77
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Event handlers
78
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Common event handlers
79
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Common event handlers (continued)
80
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Common event handlers (continued)
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()">;
82
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Common event handlers (continued)
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()">
83
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Common event handlers (continued)
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>
84
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
85
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
86
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example
87
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example (continued)
88
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example (continued)
89
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example (continued)
90
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example (continued)
91
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Example (continued)
92
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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 Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
97
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
98
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
A complete program
<html> <head> <script type="text/javascript"> function myfunction(txt) { alert(txt) } </script> </head> <body> <form> <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 Copyright IBM Corporation 2009
<input type="button" onClick="myfunction('Good Morning!')" value="In the Morning">
IBM Global Business Services
Output
100
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
myfunction (txt) receives Good Morning!
101
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
myfunction (txt) receives Good Evening !
102
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
105
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
106
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
107
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
108
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
109
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
110
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
111
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
112
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript objects (continued)
113
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Instances of computer objects (continued)
114
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects
115
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
Boolean 1. 2. 3. 4. 5. 6. Boolean Date Function Math Number String Function Date
Math
Number
String
116
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String Function Date Boolean
Math
Number
String
117
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
121
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
122
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String
Boolean
Math Number String
Date
Function
123
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
125
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
126
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
127
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
128
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
129
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
130
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
131
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
132
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
133
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
Commonly used methods of the Date Object
134
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
135
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String
Boolean
Math
Date
Number
Function
String
136
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
137
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
138
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
139
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
140
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String
Boolean Date
Math
Number
Function
String
141
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
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.
142
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
Mathematical values provided by JavaScript
Math.E Math.PI Math.SQRT2 Math.SQRT1_2 Math.LN2 Math.LN10 Math.LOG2E Math.LOG10E
143
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
Methods of Math object
144
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
145
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
146
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String Function Date Boolean
Math
Number
String
147
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
148
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
149
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
150
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
1. 2. 3. 4. 5. 6.
Boolean Date Function Math Number String Date Boolean
Math
Number
String Function
151
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
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.
152
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
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 // creates a String object // returns the number 4 // returns the string "2 + 2 // returns the number 4 s2 = new String("2 + 2") eval(s1) eval(s2) eval(s2.valueOf());
153
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
JavaScript core objects (continued)
Common Methods of String Object
154
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Document object model (continued)
Graphical representation of the DOM of the example table
160
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Document object model (continued)
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.
161
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Document object model (continued)
Document Tree
162
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Navigator object methods
JavaEnabled() Returns a boolean telling if the browser has JavaScript enabled.
166
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
In Document Object Model Frames are instances of Window object
171
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
172
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
173
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
174
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
175
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
176
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
177
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
178
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
179
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
180
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
181
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
182
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
183
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
184
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
185
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
186
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Frame object (continued)
187
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
188
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
189
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Location object
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.
194
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
195
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
196
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
197
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
198
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
199
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object (continued)
200
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Location object example
Output: If Accessed from the Local File System
203
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Location object example
Output: If the page is delivered by a Web Server.
204
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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.
205
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
History object
206
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
History object
207
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
History object
208
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
History object
209
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
210
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
211
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model
212
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
213
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
214
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
215
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
216
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
217
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
218
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
219
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
220
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
221
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
222
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
223
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
224
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
225
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
226
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
227
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
228
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
229
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
230
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Form object model (continued)
231
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
232
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
233
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
234
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Test your understanding
235
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Cookies (continued)
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.
239
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Cookies (continued)
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.
240
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Questions
The name-value pair is the _____________ element in the Cookie
First
Second
Third
241
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Answer
The name-value pair is the _____________ element in the Cookie
First
Second
Third
242
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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 3rd party software:
Cookie Pal, CookieMaster, CookieCrusher to monitor, browse and edit Cookies.
243
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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) )
Set an expiry date
</script></head> <body> <form> <input type="button" value="Set a Cookie" onClick="setCookie(user',Paul Smith')"> </form> </body> </html>
What does the escape function do?
246
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Escape () function
There's no escape!
Strictly speaking, we should be escaping our cookie values -- encoding nonalphanumeric 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
Copyright IBM Corporation 2009
IBM Global Business Services
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) )
The value stored is user=Paul Smith
248 JavaScript
</script> </head> <body> <form> <input type="button" value="Set a Cookie" onClick="setCookie(user',Paul Smith')"> </form> </body> </html>
Setting the cookie
Copyright IBM Corporation 2009
IBM Global Business Services
Reading a cookie
<html> <head> <script language="JavaScript"> function readCookie() { var ca = document.cookie document.write(ca) }
Returns the cookie name value pair
</script> </head> <body> <form><input type="button" value="read" onClick="readCookie()"> </form> </body>
Value retrieved is
</html>
user=Paul Smith
249
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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 } </script> </head> <body> <form> <input type="button" value="read" onClick="readCookie('user')"> </form> </body></html> document.write( document.cookie.substring(c_start, c_end)) } } Displays the value: Paul Smith
250
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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>
251 JavaScript Copyright IBM Corporation 2009
<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.
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Session outline
What is ajax? Advantages and disadvantages Xmlhttprequest A first example
254
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
What is Ajax?
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
255
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Technologies used for Ajax
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
257
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
What is Ajax?
258
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Uses of Ajax
AJAX has many potential uses including: 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
259
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Advantages of Ajax
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
260 JavaScript Copyright IBM Corporation 2009
IBM Global Business Services
Advantages of Ajax
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
261
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
Disadvantages of Ajax
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
262
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
XMLHttpRequest (XHR)
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
263 JavaScript Copyright IBM Corporation 2009
IBM Global Business Services
XMLHttpRequest (XHR): (Continued)
Different browsers use different methods to create the XMLHttpRequest object
IE uses an ActiveXObject Can use JavaScript try/catch to handle the creation of the XMLHttpRequest object
JavaScript
other browsers uses the built-in JavaScript object XMLHttpRequest
264
Copyright IBM Corporation 2009
IBM Global Business Services
Example of HTML
<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>
265 JavaScript Copyright IBM Corporation 2009
IBM Global Business Services
The whole JavaScript function
<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>
266 JavaScript Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
Questions
269
JavaScript
Copyright IBM Corporation 2009
IBM Global Business Services
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
Copyright IBM Corporation 2009
IBM Global Business Services
THANK YOU
271
JavaScript
Copyright IBM Corporation 2009