Top Banner
Client Side Scripting BICS546
38

Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Client Side Scripting

BICS546

Page 2: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Client-Side vs Server-Side Scripting

• Client-side scripting:– The browser requests a page.– The server sends the page to the browser.– The browser sends the page to the script engine.– The script engine executes the script.

• Server-side scripting:– The browser requests a page.– The server sends the page to the engine.– The script engine executes the script.– The server sends the page to the browser.– The browser renders the page.

Page 3: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

HTTP Protocol (.Net p82)

• HTTP Request– Request line: HTTP method, file name, and HTTP

version.

– HTTP Header: acceptable file types, browser type, etc.

– HTTP Body: data sent to the browser.

• HTTP Response– Response line: HTTP version, status code.

– HTTP header: server info, info about data being sent.

– HTTP Body: HTML code

Page 4: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

HTML Introduction

• Heading section– <head>, <title>, <meta>, <script>, etc.

• Body section– <body>, <p>, <h1> to <h6>, <a>, <br>– Formatting: <b>, <I>, <u>, <center>– Comment: <!-- comment -->– List <ul>– Image– Table: <table>, <tr>: a new row in table, <td>: a new cell in

a table row.– Form: <form>, <input>, <select>, <textarea>

Page 5: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Webpage Editor

• FrontPage demo

• Microsoft Script Editor

Page 6: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

META Tag

• The meta tag allows you to provide additional information about the page that is not visible in the browser:– <meta name=“Author” content=“D Chao”>– <meta name=“Keywords” content=“apple,

orange,peach”>

• Redirection:– <meta http-equiv=“refresh”

content=“3;url=http://www.sfsu.edu”>• “3” is number of seconds.• Demo using FrontPage

Page 7: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

TABLE Tag

<table border="1" width="100%"> <tr> <td width="25%"></td> <td width="25%">&nbsp;</td> <td width="25%">&nbsp;</td> <td width="25%">&nbsp;</td> </tr> <tr> <td width="25%">&nbsp;</td> <td width="25%">&nbsp;</td> <td width="25%">&nbsp;</td> <td width="25%">&nbsp;</td> </tr></table>

Page 8: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

FORM Tag

• Form attribute:– Action: Specify the URL of a program on a server or an

email address to which a form’s data will be submitted.– Method:

• Get: the form’s data is appended to the URL specified by the Action attribute as a QueryString.

• Post: A preferred method for database processing. Form’s data is sent in the HTTP body.

– Name: Form’s name– Target: Specified a window in which results returned

from the server appear.

Page 9: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

QueryString

• A QueryString is a set of name=value pairs appended to a target URL.

• It can be used to pass information from one webpage to another.

• To create a QueryString:– Add a question mark (?) immediately after a URL.– Followed by name=value pairs separated by

ampersands (&).

• Example: • <A Href=“http://my.com/Target.htm?CustID=C1&Cname=Chao”>

Page 10: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Creating a QueryString

• User typed URL

• As part of a URL specified in an anchor tag.

• Via a form sent to the server with the GET method.

Page 11: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

SCRIPT Tag

• <SCRIPT LANGUAGE = VBSCRIPT>

• <SCRIPT LANGUAGE = JAVASCRIPT>

• HTML and Vbscript are not case-sensitive; Javascript is case-sensitive, each statement ends in a semicolon (;).

Page 12: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Script Example

</script>

<SCRIPT LANGUAGE=vbscript>

<!--

statements

-->

</SCRIPT>

Page 13: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

<body>

<p>Hello World</p>

<script language="javascript1.3">

document.write ("<h1>Hello world</h1>");

</script>

</body>

Page 14: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Variable Declaraton

• JS: var intrate, term, amount;• VB: dim intrate, term, amount• Data Type:

– Variant - a variable’s data type is determined when it is initialized to its first value.

• Variable scope:– Local: Variables declared in a function or procedure.

– Global: Variables declared in the heading section, but not in a function or procedure.

Page 15: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Special Characters in JavaScript

• Escape characters• Special characters:

– Carriage return: \r “Welcome “ & “\r” & cName

– Backslash: \\ “c:\\Inetpub\\wwwroot\\home.htm”

– New line: \n

– Double quotation mark: \”

– Single quotation mark: \’

– Tab space: \t

Page 16: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Special Characters in VBScript

• VB uses CHR function to return special characters.

• CHR(number of ANSI character code)– Carriage return: chr(11)

– Backslash: chr(92)

– New line: chr(10)

– Double quotation: chr(34)

– Single quotation: chr(39)

– Tab: chr(9)

Page 17: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Arrays

• JS: var arrayName = new Array(array size);• var Pet = new Array(2);

• Pet[0]=“dog”;

• Pet[1]=“cat”;

• Pet[2]=“bird”;

• VB: dim arrayName(array size)• Dim Pet(2)

• Pet(0)=“dog”

• Pet(1)=“cat”

• Pet(2)=“bird”

Page 18: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Comments

• JS: – Single-line comment: //– Multiple-line comments: /* … */

• VB: single quotation mark ‘

Page 19: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Operators• Arithmetic operators:

– JS: +, -, *, /, Math.pow(x,y), etc.• Math is an object with many methods such as round(x),

random(), sqrt(x), ceil(x), floor(x), etc.

– JS: Prefix operator: ++VarName, --VarName• Postfix operator: varName++, varName--

– VB:+. -, *, /, ^

• Comparison operators:– JS: = = , !=, <, >, <=, >=– VB: =, <>, <, >, <=, >=

• Logical operators:– JS: &&, ||, !– VB: AND, OR, NOT

Page 20: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

IF Then StatementsJS: if (condition) {

statements;

}

else {

statements;

}

VB: if (condition) then

statements

else

statements

end if

Page 21: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Case StatementsJS: Switch Case Statement

switch(varable name) {case value1:

statements;break;

case value2:statements;break;

…default:

statements;break;

}

VB: Select Case statement

Page 22: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Loop StructuresJS: 1. while (condition) {

statements;}

2. do{statements;

} while (condition)

3. for (var I = 0; I<5;I=I+1){statements;

}

Page 23: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

JavaScript Build-In Objects and Methods

• Math object• String object: In JS, a string variable is an object

and can be created by:– varName = “Smith”– varName = new String(“Smith”)

• String object methods:– bold, fontcolor, fontsize, toLowerCase, toUpperCase– anchor (create a bookmark), link (create a link)– Substring, split (split a string into an array)

Page 24: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Examples of Using String’s Methods

var test = “Click Here”;

var website = http://www.sfsu.edu;

test.link(website);

var test = “one, two, three”;

var newArray = test.split(“,”);

Note: split is useful in parsing a queryString.

Page 25: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

JavaScript’s Conversion Functions

• toString() example:• Price=5;

• Qty=10;

• Amount=Price*Qty;

• Document.write (Amount.toString());

• Eval• strVar = “5”;

• numVar = eval(strVar)

Page 26: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

JavaScript Functions

• Defining functions– function functionName(arg1,..,argN){

• Statements;• return return value;

– }

Note: 1. The arguments are optional.2. The return statement is optional. A function is not

required to return a value.

Page 27: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

VBScript Functions

• Defining functions:– Function functionName(arg1,..,argN)

• Statements

• functionName=returnValue

– End Function

– Note: Unlike VB, a function is not required to return a value.

Page 28: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Document Object Model

N avig a to r L oca tion

Text

R ad io

C h eckB ox, e tc

F orm co llec tion

Im ag e

L in k

A n ch or, e tc

O th er co llec tion s

D ocu m en t H is to ry F ram e

W in d ow

Page 29: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Window Object

• The Window object represents a Web browser window.

• We use the properties and methods of a Window object to control browser window.

Page 30: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Window Object• Properties:

– window.status, window.defaultstatus– window.document, window.history, window.location.– Window.name

• Methods:– window.open (“url”, “name”, Options)

• Options: menubar=no, status=no, toolbar=no, etc.

– window.close– window.alert(“string”)– window.prompt(“string”)– Window.confirm()– window.prompt(“string”, “default string”)– window.focus() , window.blur() :set/remove focus– Window.setTimeout(“statements”, milliseconds)

Page 31: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Document Object

• The document object represents the actual web page within the window.

• Properties: – background, bgColor, fgColor, title, url, lastModified,

domain, referrer, cookie, linkColor, etc. • Ex. document.bgColor=“silver”;

• Methods: – Document.write (“string”)– Document.open, close

• Demo (docProp.htm, testDoc.htm)

Page 32: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Navigator Object

• The navigator object provides information about the browser.

• Properties:– Navigator.appName:browser name– Navigator.appCodeName: browser code name– Navigator.appVersion– Navigator.platform: the operating system in

use.

Page 33: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Location Object

• Allows you to change to a new web page from within a script code.

• Properties:– Host, hostname, pathname– Href: full URL address– Search: A URL’s queryString

• Methods:– location.reload()– location.replace(); replace current page and old page’s entry

in the history.

• To open a page: location.href = “URL”

Page 34: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

History Object

• Maintain a history list of all the documents that have been opened during current session.

• Methods:– history.back()– history.forward()– history.go(): ex. History.go(-2)

Page 35: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

HTML Tags and Events

• Link <a> </a>: click, mouseOver, mouseOut• Image <img>: abort(loading is interrupted), error,

load.• Area <area>: mouseOver, mouseOut• Body <body>: blur, error, focus, load, unload• Frameset: blur, error, focus, load, unload• Frame: blur, focus• Form: submit, reset• Textbox, Text area: blur, focus, change, select• Button, Radio button, check box: click• List: blur, focus, change

Page 36: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Event Handler

• Event handler name: on + event name– Ex. onClick

• Three ways of writing handler:– 1. Within the tag

• <input type = “button” name =“ button1” value “click here” onCLick = window.alert(“you click me”)>

– 2. Event function: onCLick=“clickHandler()”

– 3. Event procedure as in VB.• Sub button1_onCLick()

Page 37: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Form Object• Form Input/Select object:

– Textbox, radio button, check box, drop-down list box, text area, push button, submit button, reset button.

• Event-Handler:– onBlur (lose focus), onCHange, onClick, onFocus,

onKeyDown, onKeyPress, onKeyUp, onLoad (when a document is loaded), onMouseDown, onMouseMove, onMouseOut, onMouseOver, onMouseUp, onReset(when click the reset button), onResize(when window is resized), onSubmit.

• Refer an input object in a form:– document.formname.inputobjName.Value

• Demo: showFormData.htm

Page 38: Client Side Scripting BICS546. Client-Side vs Server-Side Scripting Client-side scripting: –The browser requests a page. –The server sends the page to.

Forms Collection

• The forms collection is a collection of form objects within the document object.

• To retrieve a form’s`property:– document.form[index].property

• Base 0 index

– Document. formname.property