Chapter 4 JavaScript and Dynamic Web Pages

Slides:



Advertisements
Similar presentations
Essentials for Design JavaScript Level One Michael Brooks
Advertisements

HTML 5 and CSS 3, Illustrated Complete Unit L: Programming Web Pages with JavaScript.
Lesson 12- Unit L Programming Web Pages with JavaScript.
The Web Warrior Guide to Web Design Technologies
 2005 Pearson Education, Inc. All rights reserved Introduction.
1 HCI 201 JavaScript - Part 1. 2 Static web pages l Static pages: what we have worked with so far l HTML tags tell the browser what to do with the content.
1 Outline 13.1Introduction 13.2A Simple Program: Printing a Line of Text in a Web Page 13.3Another JavaScript Program: Adding Integers 13.4Memory Concepts.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
1 A Balanced Introduction to Computer Science, 2/E David Reed, Creighton University ©2008 Pearson Prentice Hall ISBN Chapter 7 Event-Driven.
Introduction to scripting
1 Events Lect 8. 2 Event-driven Pages one popular feature of the Web is its interactive nature e.g., you click on buttons to make windows appear e.g.,
CS346 - Javascript 1, 21 Module 1 Introduction to JavaScript CS346.
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
Event Handlers CS101 Introduction to Computing. Learning Goals Learn about event handlers Determine how events are useful in JavaScript Discover where.
CSC 330 E-Commerce Teacher Ahmed Mumtaz Mustehsan Ahmed Mumtaz Mustehsan GM-IT CIIT Islamabad GM-IT CIIT Islamabad CIIT Virtual Campus, CIIT COMSATS Institute.
Chapter 4 JavaScript and Dynamic Web pages. Objectives Static Web pages Dynamic Web pages JavaScript Variables Assignments. JavaScript Functions –(prompt(“”,””)
Objective Static vs. Dynamic Web pages. Variables. Assignments. JavaScript Hierarchy of Objects JavaScript Functions (prompt(“”,””) Document.write(“”)
Computers and Scientific Thinking David Reed, Creighton University JavaScript and User Interaction 1.
Lesson13. JavaScript JavaScript is an interpreted language, designed to function within a web browser. It can also be used on the server.
Introduction to JavaScript Basharat Mahmood, Department of Computer Science, CIIT, Islamabad, Pakistan. 1.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
Dynamic Web Pages & JavaScript. Dynamic Web Pages Dynamic = Change Dynamic Web Pages are web pages that change. More than just moving graphics around.
1 Functions Lecfture Abstraction abstraction is the process of ignoring minutiae and focusing on the big picture in modern life, we are constantly.
1 A Balanced Introduction to Computer Science, 2/E David Reed, Creighton University ©2008 Pearson Prentice Hall ISBN Chapter 11 Conditional.
Introduction.  The scripting language most often used for client-side web development.  Influenced by many programming languages, easier for nonprogrammers.
1 CSC 121 Computers and Scientific Thinking David Reed Creighton University JavaScript and Dynamic Web Pages.
Dr. Qusai Abuein1 Internet & WWW How to program Chap.(6) JavaScript:Introduction to Scripting.
1 A Balanced Introduction to Computer Science David Reed, Creighton University ©2005 Pearson Prentice Hall ISBN X Chapter 4 JavaScript and.
ECA 225 Applied Interactive Programming1 ECA 225 Applied Online Programming basics.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
 2000 Deitel & Associates, Inc. All rights reserved. Outline 8.1Introduction 8.2A Simple Program: Printing a Line of Text in a Web Page 8.3Another JavaScript.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
CIS 3.5 Lecture 2.3 "Introduction to JavaScript".
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 14 Key Concepts 1 Copyright © Terry Felke-Morris.
JavaScript. JavaScript Introduction JavaScript is the world's most popular programming language. It is the language for HTML and the web, for servers,
CSC 121 Computers and Scientific Thinking Fall Interactive Web Pages.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
CSC 121 Computers and Scientific Thinking Fall Event-Driven Programming.
1 JavaScript and Dynamic Web Pages Lecture 7. 2 Static vs. Dynamic Pages  A Web page uses HTML tags to identify page content and formatting information.
1 CSC 121 Computers and Scientific Thinking David Reed Creighton University JavaScript and Dynamic Web Pages.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
Module 1 Introduction to JavaScript
Event-Driven Programming
CHAPTER 10 JAVA SCRIPT.
Chapter 6 JavaScript: Introduction to Scripting
Tutorial 10 Programming with JavaScript
Web Development & Design Foundations with HTML5
Section 17.1 Section 17.2 Add an audio file using HTML
Web Development & Design Foundations with HTML5 7th Edition
Introduction to Scripting
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
Intro to PHP & Variables
JavaScript Introduction
Event Driven Programming & User Defined Functions
WEB PROGRAMMING JavaScript.
T. Jumana Abu Shmais – AOU - Riyadh
Chapter 6 Event-Driven Pages
Tutorial 10: Programming with javascript
Chapter 7 Event-Driven Pages
JavaScript is a scripting language designed for Web pages by Netscape.
Introduction to Programming and JavaScript
JavaScript: Introduction to Scripting
Chapter 11 Conditional Execution
Web Programming and Design
Computers and Scientific Thinking David Reed, Creighton University
Chapter 5 JavaScript Numbers and Expressions
Presentation transcript:

Chapter 4 JavaScript and Dynamic Web Pages A Balanced Introduction to Computer Science, 3/E David Reed, Creighton University ©2011 Pearson Prentice Hall ISBN 978-0-13-216675-1 Chapter 4 JavaScript and Dynamic Web Pages

Static vs. Dynamic Pages recall: a Web page uses HTML tags to identify page content and formatting information HTML can produce only static pages static pages look the same and behave in the same manner each time they are loaded into a browser in 1995, researchers at Netscape developed JavaScript, a language for creating dynamic pages Web pages with JavaScript can change their appearance: over time (e.g., a different image each time that a page is loaded), or in response to a user’s actions (e.g., typing, mouse clicks, and other input methods)

Programming Languages JavaScript is a programming language a programming language is a language for specifying instructions that a computer can execute each statement in a programming language specifies a particular action that the computer is to carry out (e.g., changing an image or opening a window when a button is clicked) some programming languages are general-purpose popular languages include C++, Java, J# JavaScript was defined for a specific purpose: adding dynamic content to Web pages can add JavaScript statements to a Web page using the HTML tags <script type="text/javascript"> . . . </script> when the browser displays the page, any statements inside the SCRIPT tags are executed and the result is displayed can associate JavaScript statements with certain HTML elements so that they react to actions taken by the user (e.g., a button click)

Simple Dynamic Page below is a simple Web page with dynamic content note: dynamic content can be mixed with static HTML content it demonstrates two types of JavaScript statements an assignment statement that asks the user for input and stores that input a write statement that writes text into the HTML page

Assignment Statement firstName = prompt("Please enter your name", ""); when an assignment statement involving prompt is executed by the browser a separate window is opened with a text box for the user to enter text when the user is done typing, he/she can click on the OK button firstName = prompt("Please enter your name", ""); when OK is clicked, the text entered is assigned to a variable a variable is a name used to symbolize a dynamic value here, the variable firstname is used to store the text entered by the user

Assignment Statement (cont.) the general form of an assignment statement using a prompt is VARIABLE = prompt("PROMPT MESSAGE", ""); the variable name can vary depending on the task at hand here, the variable is used to store the user's first name, so firstName is a meaningful name the prompt message that appears in the window can likewise change here, the message "Please enter your name" tells the user what is expected

Write Statement when a write statement is executed by the browser the message specified in the statement is written into the HTML page a message can include a string literal – text enclosed in quotes a variable a combination of strings and variables, connected via '+' document.write("<p>Hello " + firstName + ", welcome to my Web page.</p>"); when a variable is encountered, the browser substitutes the value currently assigned to that variable

Write Statement (cont.) the general form of a write statement is document.write("MESSAGE TO BE DISPLAYED " + VARIABLE + " MORE MESSAGE" + ...); note that the statement can be broken across lines, as long as no string literal is split (i.e., the beginning and ending quotes of a string must be on same line) the pieces of the message are displayed in sequence, with no spaces in between if you want spaces, you have to enter them in the text

Formatted Output the output produced by a write statement is embedded in the page the browser displays this output just as it does any other text if the text contains HTML tags, the browser will interpret the tags and format the text accordingly document.write("<p>Hello <i>" + firstName + "</i>, welcome to my Web page.</p>"); assuming the variable firstName has been assigned "Dave", the browser would execute the statement to produce <p>Hello <i>Dave</i>, welcome to my Web page.</p> which would be displayed by the browser as Hello Dave, welcome to my Web page.

JavaScript Variables a variable name can be any sequence of letters, digits, and underscores (but must start with a letter) valid: tempInFahr SUM current_age Sum2Date x invalid: 2hotforU salary$ two words "sum_to_date" variable names are case sensitive, so Sum and SUM are treated as different variables

Variables & Memory Cells computers keep track of the values that variables represent by associating each variable with a specific piece of memory, known as a memory cell when a JavaScript assignment is executed, firstName = prompt("Please enter your name", ""); the value entered by the user (e.g., "Dave") is stored in a memory cell associated with the variable firstName any future reference to the variable name evaluates to the value stored in its associated memory cell

Another Example once you create a variable, you can repeatedly assign values to it only the most recent value is retained in memory EXAMPLE: suppose we want to prompt the user for two different foods if only one food is needed at a time, we can reuse the same variable

Prompts with Defaults VARIABLE = prompt("PROMPT MESSAGE", ""); so far, all prompts have been of the form VARIABLE = prompt("PROMPT MESSAGE", ""); sometimes it makes sense to provide default values for prompts can specify a string literal instead of "" this string will appear in the prompt box when it appears if the user wants to accept the default value, can just click OK EXAMPLE: suppose we wanted to create a page that displays a verse of the children's song, Old MacDonald had a Farm the page should be able to display any verse can accomplish this by prompting the user for the animal and sound can specify default values so that it is easy to display a common verse animal = prompt("Enter a kind of animal:", "cow"); sound = prompt("What kind of sound does it make?", "moo");

Event Handlers JavaScript code is associated with HTML element using event handler attributes the ONMOUSEOVER attribute specifies the statement(s) that are to be executed when the mouse is moved over the element the ONMOUSEOUT attribute specifies the statement(s) that are to be executed when the mouse is moved off the element for example, can have an image that reacts to mouse movements: <img src="ADDRESS_OF_IMAGE" alt="DESCRIPTIVE_TEXT" onmouseover="CODE_TO_EXECUTE_WHEN_MOUSE_GOES_OVER_IMAGE" onmouseout="CODE_TO_EXECUTE_WHEN_MOUSE_LEAVES_IMAGE"> the simplest type of action is to change the value of one of the other attributes of the element this is accomplished via a JavaScript assignment statement this.ATTRIBUTE_NAME = NEW_ATTRIBUTE_VALUE;

Mystery Image Page initially, the image displays a '?' when mouse moves over, SRC attribute is assigned to happy face when mouse leaves, SRC attribute is assigned back to '?'

HTML/JavaScript Strings a string is a sequence of characters enclosed in quotes strings appear in HTML attribute assignments (e.g., file name for SRC attribute) strings also appear in JavaScript assignments (e.g., attribute assignment within ONMOUSEOVER <img src="mystery.gif" alt="Mystery image" onmouseover="this.src='happy.gif';" onmouseout="this.src='mystery.gif';"> here, JavaScript assignments (gray text) are nested inside the HTML strings assigned to the event handlers technically, strings can be represented using either single or double quotes to avoid confusion, we will always use double quotes for HTML strings; single quotes for JavaScript strings

Other Dynamic Attributes can similarly change other element attributes using JavaScript assignments HEIGHT attribute of an IMG sets the height of the image (in number of pixels) WIDTH attribute of an IMG sets the width of the image (in number of pixels) <img src="mystery.gif" alt="Mystery image" height=85 width=85 onmouseover="this.height=200; this.width=200;" onmouseout="this.height=85; this.width=85;"> here, moving the mouse over the image expands it from 85x85 pixels to 200x200 pixels similarly, moving the mouse away reduces it back to 85x85 pixels an event handler attribute can be assigned a series of attribute assignments (separated by semicolons) multiple assignments are executed in the order they appear

onclick Event Handler another common event handler is the ONCLICK attribute specifies JavaScript statement(s) to be executed when the mouse is clicked on the element <img src="ADDRESS_OF_IMAGE" alt="DESCRIPTIVE_TEXT" onclick="CODE_TO_BE_EXECUTED_WHEN_MOUSE_CLICKS_ON_IMAGE">

Input buttons the onclick attribute is often associated with buttons a button is an HTML element that appears as a labeled rectangle/oval a button is a specific type of input element <input type="button" value="BUTTON_LABEL" onclick="CODE_TO_BE_EXECUTED_WHEN_MOUSE_CLICKS_ON_BUTTON"> typically, buttons are used to initiate actions on other elements e.g., click on a button to change the SRC or HEIGHT/WIDTH of an IMG need to be able to identify the element (as opposed to this.) document.getElementById('ELEMENT_ID')

Button Version note: the IDs must match exactly, including the same capitalization each button click changes the SRC attribute of the element with ID mysteryImg

Dynamic Text to display text within a page, there are 2 main options: alert statement: will display a text message in a separate alert window <input type="button" value="Click for free money!" onclick="alert('Yeah, right.');"> alert windows are useful when you want to display a short (1-line) message can be annoying to the user since the pop-up window must be closed by clicking the OK button INNERHTML attribute: text elements (DIV, P, SPAN) have an attribute that specifies their text content you can change the text displayed in one of these elements by assigning a new string to its INNERHTML attribute advantages: the text is integrated into the page (not in a separate window) it can accommodate long messages it can incorporate HTML formatting (e.g., paragraphs using P, bold using B, …)

Error Messages an error in the format of an HTML or JavaScript statements is known as a syntax error some syntax errors are ignored by the browser e.g., misspelling an HTML tag name most JavaScript syntax errors will generate an error message Internet Explorer: must configure the settings to pop up error messages Firefox: must view the Error Console to see error messages recognizing common errors allows you to avoid them in the future Error: unterminated string literal alert('This example is illegal because the string is broken across lines'); Error: missing ) after argument list OR Error: missing ; after statement alert('This example is illegal because ' 'there is not a + connecting the pieces');