38
JAVASCRIPT Lecturer, and Researcher at Thamar University By Eng: Mohammed Hussein By Eng: Mohammed Hussein 1 Republic of Yemen THAMAR UNIVERSITY Faculty of Computer Science& Information System

JAVA SCRIPT

Embed Size (px)

DESCRIPTION

JavaScript is the scripting language of the Web. JavaScript is used in web pages to add functionality, validate forms, communicate with the server, and much more.

Citation preview

Page 1: JAVA SCRIPT

JAVASCRIPT

Lecturer, and Researcher at Thamar University

By Eng: Mohammed Hussein

By E

ng: M

oh

am

med

Hu

ssein

1

Republic of

Yemen

THAMAR UNIVERSITY

Faculty of Computer Science&

Information System

Page 2: JAVA SCRIPT

OUTLINE

What is JavaScript?

JavaScript Statements

JavaScript Variables and Operators

JavaScript Events

JavaScript Try...Catch Statement

JavaScript Browser (Navigator)

JavaScript Cookies

JavaScript Form Validation

By E

ng: M

oh

am

med

Hu

ssein

2

Page 3: JAVA SCRIPT

WHAT IS JAVASCRIPT?

JavaScript is the scripting language of the Web.

JavaScript is used in web pages to add functionality, validate forms, communicate with the server, and much more.

JavaScript was designed to add interactivity to HTML pages.

A scripting language is a lightweight programming language.

JavaScript is usually embedded directly into HTML pages

JavaScript is an interpreted language (means that scripts execute without preliminary compilation)

Everyone can use JavaScript without purchasing a license

By E

ng: M

oh

am

med

Hu

ssein

3

Page 4: JAVA SCRIPT

ARE JAVA AND JAVASCRIPT THE SAME?

NO!

Java and JavaScript are two completely different languages in both concept and design!

Java (developed by Sun Microsystems) is a powerful and much more complex programming language - in the same category as C and C++.

JavaScript is an implementation of the ECMAScript language standard. ECMA-262 is the official JavaScript standard.

JavaScript was invented by Brendan Eich at Netscape (with Navigator 2.0), and has appeared in all browsers since 1996.

The official standardization was adopted by the ECMA organization (an industry standardization association) in 1997.

The ECMA standard (called ECMAScript-262) was approved as an international ISO (ISO/IEC 16262) standard in 1998.

By E

ng: M

oh

am

med

Hu

ssein

4

Page 5: JAVA SCRIPT

WHAT CAN JAVASCRIPT DO?

JavaScript gives HTML designers a programming tool - HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax! Almost anyone can put small "snippets" of code into their HTML pages

JavaScript can react to events - A JavaScript can be set to execute when something happens, like when a page has finished loading or when a user clicks on an HTML element

JavaScript can read and write HTML elements - A JavaScript can read and change the content of an HTML element

JavaScript can be used to validate data - A JavaScript can be used to validate form data before it is submitted to a server. This saves the server from extra processing

JavaScript can be used to detect the visitor's browser - A JavaScript can be used to detect the visitor's browser, and - depending on the browser - load another page specifically designed for that browser

JavaScript can be used to create cookies - A JavaScript can be used to store and retrieve information on the visitor's computer

By E

ng: M

oh

am

med

Hu

ssein

5

Page 6: JAVA SCRIPT

JS WRITING TO THE HTML DOCUMENT

Unlike HTML, JavaScript is case sensitive.

This example writes a <p> element with current date information to the HTML document.

The lines between the <script> and </script> contain the JavaScript and are executed by the browser.

By E

ng: M

oh

am

med

Hu

ssein

6

<html>

<body>

<h1>My First Web Page</h1>

<script type="text/javascript">

document.write("<p>" + Date() + "</p>");

</script>

</body>

</html>

Page 7: JAVA SCRIPT

JS CHANGING HTML ELEMENTS

To manipulate HTML elements JavaScript uses the DOM method getElementById(). This method accesses the element with the specified id. The browser will replace the content of the HTML element with id=“name", with the current date

By E

ng: M

oh

am

med

Hu

ssein

7

<html>

<body>

<h1>My First Web Page</h1>

<p id=“name"></p>

<script type="text/javascript">

document.getElementById(“name").innerHTML=Date();

</script>

</body>

</html>

Page 8: JAVA SCRIPT

JAVASCRIPT STATEMENTS

A JavaScript statement is a command to a browser. The purpose of the command is to tell the browser what to do.

This JavaScript statement tells the browser to write "Hello Mohammed" to the web page

The semicolon at the end is optional. Using semicolons makes it possible to write multiple statements on one line.

JavaScript statements can be grouped together in blocks { } brackets .

By E

ng: M

oh

am

med

Hu

ssein

8

document.write("Hello Mohammed");

Page 9: JAVA SCRIPT

JAVASCRIPT COMMENTS

The comment is used to prevent the execution

of a single code line (can be suitable for

debugging)

Single line comments start with //.

Multi line comments start with

/* and end with */.

By E

ng: M

oh

am

med

Hu

ssein

9

<script type="text/javascript">

//document.write("<h1>This is a heading</h1>"); //

/* document.write("<p>This is a paragraph.</p>");

document.write("<p>This is another paragraph.</p>"); */

document.write("<p> comments </p>");

</script>

Page 10: JAVA SCRIPT

SOME BROWSERS DO NOT SUPPORT JAVASCRIPT

Browsers that do not support JavaScript, will display JavaScript as page content.

To prevent them from doing this, and as a part of the JavaScript standard, the HTML comment tag should be used to "hide" the JavaScript.

Just add an HTML comment tag <!-- before the first JavaScript statement, and a --> (end of comment) after the last JavaScript statement.

The two forward slashes at the end of comment line (//) is the JavaScript comment symbol. This prevents JavaScript from executing the --> tag.

By E

ng: M

oh

am

med

Hu

ssein

10

<script type="text/javascript">

<!--

document.getElementById("demo").innerHTML=Date();

//-->

</script>

Page 11: JAVA SCRIPT

JAVASCRIPT PLACE IN HTML

JavaScripts can be put in the <body> and in the <head> sections of an HTML page.

In <body>, the JavaScript is placed at the bottom of the page to make sure it is not executed before the <p> element is created as the pervious example.

In <head>, as we want to execute a JavaScript when an event occurs, such as when a user clicks a button. When this is the case we can put the script inside a function.

Events are normally used in combination with functions (like calling a function when an event occurs).

By E

ng: M

oh

am

med

Hu

ssein

11

Page 12: JAVA SCRIPT

JAVASCRIPT IN <BODY> OR <HEAD>

You can place an unlimited number of scripts in your document, and you can have scripts in both the body and the head section at the same time.

It is a common practice to put all functions in the head section, or at the bottom of the page. This way they are all in one place and do not interfere with page content.

By E

ng: M

oh

am

med

Hu

ssein

12

<html><head>

<script type="text/javascript">

function displayDate()

{

document.getElementById("demo")

.innerHTML=Date();

}

</script>

</head>

<body>

<h1>My First Web Page</h1>

<p id="demo"></p>

<button type="button"

onclick="displayDate()">Display

Date</button>

</body>

</html>

Page 13: JAVA SCRIPT

USING AN EXTERNAL JAVASCRIPT

JavaScript can also be placed in external files.

External JavaScript files often contain code to be used on several different web pages.

External JavaScript files have the file extension .js.

By E

ng: M

oh

am

med

Hu

ssein

13

<html>

<head>

<script type="text/javascript" src=“example.js"></script>

</head>

<body>

</body>

</html>

Page 14: JAVA SCRIPT

JAVASCRIPT VARIABLES

A variable declared within a JavaScript function becomes LOCAL and can only be accessed within that function. (the variable has local scope).

Variables declared outside a function become GLOBAL, and all scripts and functions on the web page can access it. Global variables are destroyed when you close the page.

Rules for JavaScript variable names: Variable names are case sensitive (y and Y are two

different variables)

Variable names must begin with a letter or the underscore character.

By E

ng: M

oh

am

med

Hu

ssein

14var x=5;

var Facultyname=“CSIT";

Page 15: JAVA SCRIPT

JAVASCRIPT OPERATORS

Operator Description Example Result

+ Addition x=y+2 x=7 y=5

- Subtraction x=y-2 x=3 y=5

* Multiplication x=y*2 x=10 y=5

/ Division x=y/2 x=2.5 y=5

% Modulus

(division

remainder)

x=y%2 x=1 y=5

++ Increment x=++y x=6 y=6

x=y++ x=5 y=6

-- Decrement x=--y x=4 y=4

x=y-- x=5 y=4

By E

ng: M

oh

am

med

Hu

ssein

15

Page 16: JAVA SCRIPT

JAVASCRIPT ASSIGNMENT OPERATORS

Operator Example Same As Result

= x=y y=5 x=5

+= x+=y x=x+y x=15

-= x-=y x=x-y x=5

*= x*=y x=x*y x=50

/= x/=y x=x/y x=2

%= x%=y x=x%y x=0

By E

ng: M

oh

am

med

Hu

ssein

16

txt1="What a very";

txt2="nice day";

txt3=txt1+txt2;

x=5+5;

document.write(x);

x="5"+"5";

document.write(x);

x=5+"5";

document.write(x);

x="5"+5;

document.write(x);

Adding Strings and Numbers

The + Operator Used on Strings

Page 17: JAVA SCRIPT

JAVASCRIPT COMPARISON OPERATORS

Operator Description Example

== is equal to x==8 is falsex==5 is true

=== is exactly equal to (value and type)

x===5 is truex==="5" is false

!= is not equal x!=8 is true

> is greater than x>8 is false

< is less than x<8 is true

>= is greater than or equal to x>=8 is false

<= is less than or equal to x<=8 is true

By E

ng: M

oh

am

med

Hu

ssein

17

Page 18: JAVA SCRIPT

LOGICAL OPERATORS

Operator Description Example

&& and (x < 10 && y > 1) is true

|| or (x==5 || y==5) is false

! not !(x==y) is true

By E

ng: M

oh

am

med

Hu

ssein

18

Conditional Operator

JavaScript also contains a conditional operator that assigns a value to a

variable based on some condition.

Syntax variablename=(condition)?value1:value2

Example greeting=(visitor==“Mohammed")?"Dear Dr.":"Dear ";

If the variable visitor has the value of “Mohammed", then the

variable greeting will be assigned the value "Dear Dr." else it

will be assigned "Dear".

Page 19: JAVA SCRIPT

JS - IF...ELSE AND SWITCH STATEMENTS

These are similar to PHP Statements

if statement - use this statement to execute some

code only if a specified condition is true

if...else statement - use this statement to execute

some code if the condition is true and another code if

the condition is false

if...else if....else statement - use this statement to

select one of many blocks of code to be executed

switch statement - use this statement to select one

of many blocks of code to be executed

By E

ng: M

oh

am

med

Hu

ssein

19

Page 20: JAVA SCRIPT

JAVASCRIPT EVENTS

Events are actions that can be detected by JavaScript.

By using JavaScript, we have the ability to create dynamic web pages. Events are actions that can be detected by JavaScript.

By E

ng: M

oh

am

med

Hu

ssein

20

<html> <head><script type="text/javascript">

function displayDate()

{

document.getElementById("name").innerHTML=Date();

}

</script></head>

<body>

<h1>My First Web Page</h1>

<p id="name"></p>

<button type="button" onclick="displayDate()">Display

Date</button>

</body> </html>

Page 21: JAVA SCRIPT

ONLOAD AND ONUNLOAD EVENTS

The onLoad and onUnload events are triggered when the user enters or leaves the page.

Both the onLoad and onUnload events are also often used to deal with cookies that should be set when a user enters or leaves a page. For example, you could have a popup asking for the

user's name upon his first arrival to your page. The name is then stored in a cookie. Next time the visitor arrives at your page, you could have another popup saying something like: "Welcome Ahmed!".

By E

ng: M

oh

am

med

Hu

ssein

21

Page 22: JAVA SCRIPT

ONSUBMIT EVENT

The onSubmit event is used to validate ALL form fields before submitting it.

Below is an example of how to use the onSubmit event. The checkForm() function will be called when the

user clicks the submit button in the form. If the field values are not accepted, the submit should be cancelled. The function checkForm() returns either true or false. If it returns true the form will be submitted, otherwise the submit will be cancelled.

By E

ng: M

oh

am

med

Hu

ssein

22

<form method="post" action=“ex.htm" onsubmit="return checkForm()">

Page 23: JAVA SCRIPT

ONFOCUS, ONBLUR AND ONCHANGE EVENTS

The onFocus, onBlur and onChange events are

often used in combination with validation of

form fields.

Below is an example of how to use the

onChange event. The checkEmail() function

will be called whenever the user changes the

content of the field.

By E

ng: M

oh

am

med

Hu

ssein

23

<input type="text" size="30" id="email" onchange="checkEmail()">

Page 24: JAVA SCRIPT

JAVASCRIPT TRY...CATCH STATEMENT

The try...catch statement allows you to test a block of code for errors.

The try block contains the code to be run, and the catch block contains the code to be executed if an error occurs. Note that try...catch is written in lowercase letters. Using

uppercase letters will generate a JavaScript error!

The try .. catch example uses a confirm box to display a custom message telling users they can click OK to continue viewing the page or click Cancel to go to the homepage. If the confirm method returns false, the user clicked Cancel, and the code redirects the user. If the confirm method returns true, the code does nothing

By E

ng: M

oh

am

med

Hu

ssein

24

Page 25: JAVA SCRIPT

TRY...CATCH EXAMPLE

<html> <head> <script type="text/javascript">

var txt="";

function message()

{

try

{

adddlert("Welcome guest!");

}

catch(err)

{

txt="There was an error on this page.\n\n";

txt+="Click OK to continue viewing this page,\n";

txt+="or Cancel to return to the home page.\n\n";

if(!confirm(txt))

{

document.location.href="http://www.w3schools.com/";

}

}

}

</script> </head>

<body>

<input type="button" value="View message" onclick="message()" />

</body> </html>

By E

ng: M

oh

am

med

Hu

ssein

25

OR

Page 26: JAVA SCRIPT

THE THROW STATEMENT

The throw statement can be used together with

the try...catch statement, to create an exception

for the error.

The throw statement allows you to create an

exception. If you use this statement together with

the try...catch statement, you can control program

flow and generate accurate error messages.

The exception can be a string, integer, Boolean or an

object.

Note that throw is written in lowercase letters. Using

uppercase letters will generate a JavaScript error!

By E

ng: M

oh

am

med

Hu

ssein

26

Page 27: JAVA SCRIPT

THROW EXAMPLE

<html><body><script type="text/javascript">

var x=prompt("Enter a number between 0 and 10:","");

try

{

if(x>10)

{ throw "Err1"; }

else if(x<0)

{ throw "Err2"; }

else if(isNaN(x))

{ throw "Err3"; }

}

catch(er)

{

if(er=="Err1")

{ alert("Error! The value is too high"); }

if(er=="Err2")

{ alert("Error! The value is too low"); }

if(er=="Err3")

{ alert("Error! The value is not a number"); }

}

</script></body></html>

By E

ng: M

oh

am

med

Hu

ssein

27

Page 28: JAVA SCRIPT

JAVASCRIPT BROWSER (NAVIGATOR)

The Navigator object contains information about

the visitor's browser: name, version, and more.

Browser Detection

Browser should enabled JavaScript. However, there are

some things that just don't work on certain browsers -

especially on older browsers.

Sometimes it can be useful to detect the visitor's browser,

and then serve the appropriate information.

Note: There is no public standard that applies to the

navigator object, but all major browsers support it.

By E

ng: M

oh

am

med

Hu

ssein

28

Page 29: JAVA SCRIPT

THE NAVIGATOR OBJECT

By E

ng: M

oh

am

med

Hu

ssein

29

<div id="example">Browser</div>

<script type="text/javascript">

txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";

txt+= "<p>Browser Name: " + navigator.appName + "</p>";

txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";

txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";

txt+= "<p>Platform: " + navigator.platform + "</p>";

txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";

document.getElementById("example").innerHTML=txt;

</script>

Page 30: JAVA SCRIPT

JAVASCRIPT COOKIES

A cookie is often used to identify a user.

What is a Cookie? A cookie is a variable that is stored on the visitor's computer. Each time

the same computer requests a page with a browser, it will send the cookie too. With JavaScript, you can both create and retrieve cookie values.

Examples of cookies: Name cookie - The first time a visitor arrives to your web page, he or she

must fill in her/his name. The name is then stored in a cookie. Next time the visitor arrives at your page, he or she could get a welcome message like "Welcome Ana!" The name is retrieved from the stored cookie.

Password cookie - The first time a visitor arrives to your web page, he or she must fill in a password. The password is then stored in a cookie. Next time the visitor arrives at your page, the password is retrieved from the cookie

Date cookie - The first time a visitor arrives to your web page, the current date is stored in a cookie. Next time the visitor arrives at your page, he or she could get a message like "Your last visit was on Tuesday August 11, 2008!" The date is retrieved from the stored cookie

By E

ng: M

oh

am

med

Hu

ssein

30

Page 31: JAVA SCRIPT

CREATE AND STORE A COOKIE:

STORE FUNCTION

In this example we will create a cookie that stores the name of a visitor.

First, we create a function that stores the name of the visitor in a cookie variable:

The parameters of the function hold the name of the cookie, the value of the cookie, and the number of days until the cookie expires.

we first convert the number of days to a valid date, then we add the number of days until the cookie should expire. After that we store the cookie name, cookie value and the expiration date in the document.cookie object.

By E

ng: M

oh

am

med

Hu

ssein

31

function setCookie(c_name , value, exdays)

{

var exdate=new Date();

exdate.setDate(exdate.getDate() + exdays);

var c_value=escape(value) + ((exdays==null) ? "" : ";

expires="+exdate.toUTCString());

document.cookie=c_name + "=" + c_value;

}

Page 32: JAVA SCRIPT

CREATE AND STORE A COOKIE:

RETURN FUNCTION

This function makes an array to retrieve cookie

names and values, then it checks if the specified

cookie exists, and returns the cookie value.

By E

ng: M

oh

am

med

Hu

ssein

32

function getCookie(c_name)

{

var i,x,y,ARRcookies=document.cookie.split(";");

for (i=0;i<ARRcookies.length;i++)

{

x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));

y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);

x=x.replace(/^\s+|\s+$/g,"");

if (x==c_name)

{

return unescape(y);

}

}

}

Page 33: JAVA SCRIPT

CREATE AND STORE A COOKIE:

DISPLAY FUNCTION

The function that displays a welcome message if the cookie is set, and if the cookie is not set it will display a prompt box, asking for the name of the user, and stores the username cookie for 365 days, by calling the setCookiefunction.

By E

ng: M

oh

am

med

Hu

ssein

33

function checkCookie()

{

var username=getCookie("username");

if (username!=null && username!="")

{ alert("Welcome again " + username); }

else

{

username=prompt("Please enter your name:","");

if (username!=null && username!="")

{ setCookie("username",username,365); }

}

}

Page 34: JAVA SCRIPT

COOKIE FULL EXAMPLE

<html><head><script type="text/javascript">

function getCookie(c_name)

{

var i,x,y,ARRcookies=document.cookie.split(";");

for (i=0;i<ARRcookies.length;i++)

{

x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));

y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);

x=x.replace(/^\s+|\s+$/g,"");

if (x==c_name)

{ return unescape(y); }

} }

function setCookie(c_name,value,exdays)

{

var exdate=new Date();

exdate.setDate(exdate.getDate() + exdays);

var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());

document.cookie=c_name + "=" + c_value;

}

function checkCookie()

{

var username=getCookie("username");

if (username!=null && username!="")

{ alert("Welcome again " + username); }

else

{ username=prompt("Please enter your name:","");

if (username!=null && username!="")

{ setCookie("username",username,365); } }

}

</script> </head> <body onload="checkCookie()"> </body> </html>

By E

ng: M

oh

am

med

Hu

ssein

34

F5

Page 35: JAVA SCRIPT

JAVASCRIPT FORM VALIDATION

JavaScript can be used to validate data in

HTML forms before sending off the content to

a server.

Form data that typically are checked by a

JavaScript could be:

has the user left required fields empty?

has the user entered a valid e-mail address?

has the user entered a valid date?

has the user entered text in a numeric field?

By E

ng: M

oh

am

med

Hu

ssein

35

Page 36: JAVA SCRIPT

REQUIRED FIELDS

The function below checks if a field has been left empty. If the field is blank, an alert box alerts a message, the function returns false, and the form will not be submitted.

By E

ng: M

oh

am

med

Hu

ssein

36

function validateForm()

{

var x=document.forms["myForm"]["fname"].value;

if (x==null || x=="")

{ alert("First name must be filled out");

return false; }

}

<form name="myForm" action=“Reg_form.asp"

onsubmit="return validateForm()" method="post">

First name: <input type="text" name="fname">

<input type="submit" value="Submit">

</form>

Page 37: JAVA SCRIPT

E-MAIL VALIDATION

The function below checks if the content has the general syntax of an email. This means that the input data must contain an @ sign and at least one dot (.). Also, the @ must not be the first character of the email address, and the last dot must be present after the @ sign, and minimum 2 characters before the end. B

y E

ng: M

oh

am

med

Hu

ssein

37

function validateForm()

{

var x=document.forms["myForm"]["email"].value;

var atpos=x.indexOf("@");

var dotpos=x.lastIndexOf(".");

if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)

{ alert("Not a valid e-mail address");

return false; } }

<form name="myForm" action="demo_form.asp"

onsubmit="return validateForm();" method="post">

Email: <input type="text" name="email">

<input type="submit" value="Submit">

</form>