Chapter 5 © 2003 by Addison-Wesley, Inc. 1 Chapter 5 JavaScript and HTML Documents.

Slides:



Advertisements
Similar presentations
5.1 JavaScript Execution Environment
Advertisements

The Web Warrior Guide to Web Design Technologies
JavaScript Forms Form Validation Cookies. What JavaScript can do  Control document appearance and content  Control the browser  Interact with user.
Chapter 7 © 2001 by Addison Wesley Longman, Inc. 1 Chapter 7 Sebesta: Programming the World Wide Web.
JavaScript Forms Form Validation Cookies CGI Programs.
20-Jun-15 JavaScript and HTML Simple Event Handling.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Cos 381 Day 9.
Cos 381 Day 7. © 2006 Pearson Addison-Wesley. All rights reserved. 5-2 Agenda Assignment one graded –Did not see any big issues »Some still have issues.
Cos 381 Day 7. © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Agenda Assignment 2 Posted –Program a web-based Version of Soduku using JavaScript.
Lesson 2 Event Handling. Object Event Handlers Most of the objects that make up the Document Object Model respond to asynchronous, user generated events.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Cos 381 Day 10.
JavaScript Client Side scripting. Client-side Scripts Client-side scripts, which run on the user’s workstation can be used to: Validate user inputs entered.
CST JavaScript Validating Form Data with JavaScript.
CP476 Internet Computing JavaScript and HTML1 1.JavaScript Execution Environment The JavaScript Window object represents the window in which the browser.
JS: DOM Form Form Object Form Object –The Form object represents an HTML form. –For each instance of a tag in an HTML document, a Form object is created.
CNIT 133 Interactive Web Pags – JavaScript and AJAX Event and Event Handling.
Introduction to JavaScript. JavaScript Facts A scripting language - not compiled but interpreted line by line at run-time. Platform independent. It is.
HTML DOM.  The HTML DOM defines a standard way for accessing and manipulating HTML documents.  The DOM presents an HTML document as a tree- structure.
Event Handlers CS101 Introduction to Computing. Learning Goals Learn about event handlers Determine how events are useful in JavaScript Discover where.
Execution Environment for JavaScript " Java Script Window object represents the window in which the browser displays documents. " The Window object provides.
Chapter 5 JavaScript and HTML Documents. © 2006 Pearson Addison-Wesley. All rights reserved JavaScript Execution Environment - The JavaScript.
JavaScript Part 1.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 JavaScript and HTML Documents.
Chapter 5 © 2012 by Addison Wesley Longman, Inc JavaScript Execution Environment - The JavaScript Window object represents the window in which the.
JavaScript Part 1.
CS346 Javascript-7A Events1 DOM Document Object Model and Events.
Lesson13. JavaScript JavaScript is an interpreted language, designed to function within a web browser. It can also be used on the server.
Using Client-Side Scripts to Enhance Web Applications 1.
Introduction to JavaScript 41 Introduction to Programming the WWW I CMSC Winter 2004 Lecture 17.
CO1552 Web Application Development HTML Forms, Events and an introduction to JavaScript.
DOM Events. JS Events Outline About Events – Introduction – Registering events – Getting information from events Event order/phases – Preventing default.
Chapter 5 © 2005 by Addison Wesley Longman, Inc JavaScript Execution Environment - The JavaScript Window object represents the window in which the.
DHTML1-1 JavaScript and HTML Documents Xingquan (Hill) Zhu
Chapter 5 © 2014 by Pearson Education JavaScript Execution Environment - The JavaScript Window object represents the window in which the browser.
Lecture 10 JavaScript: DOM and Dynamic HTML Boriana Koleva Room: C54
Scott Marino MSMIS Summer Session Web Site Design and Authoring Session 8 Scott Marino.
Event JavaScript's interaction with HTML is handled through events that occur when the user or browser manipulates a page. When the page loads, that is.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.
Chapter 5 © 2010 by Addison Wesley Longman, Inc JavaScript Execution Environment - The JavaScript Window object represents the window in which the.
Thursday, August 6 th, 2015 Instructor: Craig Duckett Event Handling.
DOM Events. JS Events Outline About Events – Introduction – Registering events – Getting information from events Event order/phases – Preventing default.
Jaana Holvikivi 1 Introduction to Javascript Jaana Holvikivi Metropolia.
1 CSC160 Chapter 7: Events and Event Handlers. 2 Outline Event and event handlers onClick event handler onMouseOver event handler onMouseOut event handler.
Project 8: Reacting to Events Essentials for Design JavaScript Level One Michael Brooks.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 14 Key Concepts 1 Copyright © Terry Felke-Morris.
Dr. Ahmet Cengizhan Dirican BIL 374 Internet Technologies 5. JavaScript and HTML Documents.
7. JavaScript Events. 2 Motto: Do you think I can listen all day to such stuff? –Lewis Carroll.
H.Melikyan/4910/031 Programming the World Wide Web JavaScript Dr.Hayk Melikyan Departmen of Mathematics and CS JavaScript and HTML Documents.
Chapter 6 © 2014 by Pearson Education Introduction Def: A dynamic HTML document is one whose tag attributes, tag contents, or element style properties.
JavaScript Event Handlers. Introduction An event handler executes a segment of a code based on certain events occurring within the application, such as.
LESSON : EVENTS AND FORM VALIDATION -JAVASCRIPT. EVENTS CLICK.
Chapter 6 Dynamic Documents with JavaScript. © 2006 Pearson Addison-Wesley. All rights reserved Introduction Def: A dynamic HTML document is.
Introduction to JavaScript Events Instructor: Sergey Goldman 1.
Chapter 6 © 2003 by Addison-Wesley, Inc Introduction - Dynamic HTML is not a new markup language - A dynamic HTML document is one whose tag attributes,
Chapter 5 JavaScript and HTML Documents. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 5-2 FIGURE 5.1 The DOM structure for a simple document.
SE-2840 Dr. Mark L. Hornick 1 Dynamic HTML Handling events from DOM objects.
6.1 Introduction 6.2 Element Positioning
5.1 JavaScript Execution Environment
JavaScript and HTML Simple Event Handling 11-May-18.
Introduction to JavaScript Events
Web Development & Design Foundations with HTML5 7th Edition
JAVASCRIPTS AND HTML DOCUMENTS
JavaScript and HTML Simple Event Handling 19-Sep-18.
JavaScript and HTML Documents
CHAPTER 7 JavaScripts & HTML Documents
5.1 JavaScript Execution Environment
JavaScript and Ajax (JavaScript Events)
6.1 Introduction 6.2 Positioning Elements
JavaScript and HTML Simple Event Handling 26-Aug-19.
JavaScript and HTML Simple Event Handling 4-Oct-19.
Presentation transcript:

Chapter 5 © 2003 by Addison-Wesley, Inc. 1 Chapter 5 JavaScript and HTML Documents

Chapter 5 © 2003 by Addison-Wesley, Inc JavaScript Execution Environment - The JavaScript Window object represents the window in which the browser displays documents - The Window object provides the largest enclosing referencing environment for scripts - Its properties are visible to all scripts in the document (they are the globals) - Other Window properties: - document - a reference to the Document object that the window displays - frames - an array of references to the frames of the document - forms - an array of references to the forms of the document - Each Form object has an elements array, which has references to the form’s elements - Form elements are usually referenced by name, but this is a problem for radio buttons

Chapter 5 © 2003 by Addison-Wesley, Inc The Document Object Model -Under development by w3c since the mid-90s - DOM 0 is supported by all JavaScript browsers - DOM 2 is the latest approved standard - Nearly completely supported by NS6 - IE6’s support is lacking some important things - The DOM is an abstract model that defines the interface between HTML documents and application programs - It is an OO model - document elements are objects - A language that supports the DOM must have a binding to the DOM constructs - In the JavaScript binding, HTML elements are represented as objects and element attributes are represented as properties e.g., would be represented as an object with two properties, type and name, with the values "text" and "address"  SHOW document & DOM tree

Chapter 5 © 2003 by Addison-Wesley, Inc Element Access in JavaScript - There are several ways to do it - Example (a document with just one form): 1. DOM address document.forms[0].element[0] - Problem: A change in the document could invalidate this address 2. Element names – requires the element and all of its ancestors (except body ) to have name attributes - Example: document.myForm.pushMe - Problem: Strict standard does not allow form elements to have names

Chapter 5 © 2003 by Addison-Wesley, Inc Element Access in JavaScript (continued) 3. getElementById Method - Example: document.getElementById("pushMe") 5.4 Events and Event Handling - We look at the DOM 0 event model first - In event-driven programming, code is executed as a result of a user or browser action - An event is a notification that something specific has occurred, either with the browser or an action of the browser user - An event handler is a script that is implicitly executed in response to the appearance of an event

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - Because events are JavaScript objects, their names are case sensitive - all are in lowercase only - The process of connecting an event handler to an event is called registration - Don’t use document.write in an event handler, because the output may go on top of the display - Events Event Tag Attribute abort onAbort blur onBlur change onChange click onClick error onError focus onFocus load onLoad mouseout onMouseOut mouseover onMouseOver reset onReset resize onResize select onSelect submit onSubmit unload onUnload

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - The same attribute can appear in several different tags e.g., The onClick attribute can be in and - A text element gets focus in three ways: 1. When the user puts the mouse cursor over it and presses the left button 2. When the user tabs to the element 3. By executing the focus method  SHOW Table Event handlers can be specified in two ways: 1. By assigning the event handler script to an event tag attribute onClick = "alert('Mouse click!');" onClick = "myHandler();"

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - Example: the load event - triggered when the loading of a document is completed <!-- load.html An example to illustrate the load events --> The onLoad event handler> <!-- // The onload event handler function load_greeting () { alert("You are visiting the home page of \n" + "Pete's Pickled Peppers \n" + "WELCOME!!!"); } // -->

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - Radio buttons <input type = "radio" name = "button_group" value = "blue" onClick = "handler()"> - The checked property of a radio button object is true if the button is pressed - Can’t use the element’s name to identify it, because all buttons in the group have the same name - Must use the DOM address of the element, e.g., var radioElement = document.myForm.elements; - Now we have the name of the array of elements of the form for (var index = 0; index < radioElement.length; index++) { if (radioElement[index].checked) { element = radioElement[index].value; break; }

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued)  SHOW radio_click.html & Figures 5.3 & Event handlers can be specified by assigning them to properties of the JavaScript objects associated with the HTML elements - The property names are lowercase versions of the attribute names - If the event handler is a function, just assign its name to the property, as in document.myForm.elements[0].onclick = myHandler; - This sets the handler for the first element in the form -This would need to follow both the handler function and the HTML form - If this is done for a radio button group, each element of the array must be assigned  SHOW radio_click2.html

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - The disadvantage of specifying handlers by assigning them to event properties is that there is no way to use parameters - The advantage of specifying handlers by assigning them to event properties are: 1. It is good to keep HTML and JavaScript separate 2. The handler could be changed during use - Checking Form Input - A good use of JavaScript, because it finds errors in form input before it is sent to the server for processing - Things that must be done: 1. Detect the error and produce an alert message 2. Put the element in focus (the focus function) 3. Select the element (the select function)

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - The focus function puts the element in focus, which puts the cursor in the element document.getElementById("phone").focus(); - The select function highlights the text in the element - Neither select nor focus work with NS To keep the form active after the event handler is finished, have it return false - Example – comparing passwords - If a password will be used later, the user is asked to type it in twice - The program must verify that the second typing of the password is the same as the first - The form just has two password input boxes to get the passwords and Reset and Submit buttons - The event handler is triggered by the Submit button

Chapter 5 © 2003 by Addison-Wesley, Inc Events and Event Handling (continued) - Handler actions: 1. If no password has been typed in the first box, focus on that box and return false 2. If the two passwords are not the same, focus and select the first box and return false if they are the same, return true --> SHOW pswd_chk.html & Figures 5.5 & Another Example – Checking the format of a name and phone number - The event handler will be triggered by the change event of the text boxes for the name and phone number - If an error is found in either, an alert message is produced and both focus and select are called on the text box element - Another event handler is used to produce a thank you alert message when the input is ok  SHOW validator.html & Figures 5.7 & 5.8

Chapter 5 © 2003 by Addison-Wesley, Inc The DOM 2 Event Model - Does not include DOM 0 features, but they are still supported - Much more powerful than the DOM 0 model - Microsoft does not support it, yet - Event propagation - The node of the document tree where the event is created is called the target node - The first phase is called the capturing phase - Events begin at the root and move toward the target node - If there are registered event handlers at nodes along the way (before the target node is reached), if one is enabled, it is run - The second phase is at the target node - If there are registered handlers there for the event, they are run - The third phase is the bubbling phase - Event goes back to the root; all encountered registered handlers are run

Chapter 5 © 2003 by Addison-Wesley, Inc The DOM 2 Event Model (continued) - Not all events bubble - Any handler can stop further propagation by calling the stopPropagation method of the Event object - DOM2 model uses the Event object method, preventDefault to stop default operations, such as submission of a form, even though an error has been detected - Event handler registration is done with the addEventListener method - Three parameters: 1. Name of the event, as a string literal 2. The handler function 3. A Boolean value that specifies whether the event is enabled during the capturing phase node.addEventListener("change", chkName, false);

Chapter 5 © 2003 by Addison-Wesley, Inc The DOM 2 Event Model (continued) - A temporary handler can be created by registering it and then unregistering it with remove EventListener - The currentTarget property of Event always references the object on which the handler is being executed - The MouseEvent object (a subobject of Event) has two properties, clientX and clientY, that have the x and y coordinates of the mouse cursor, relative to the upper left corner of the browser window - An example: A revision of validator, using the DOM 2 event model  SHOW validator2.html - Note: DOM 0 and DOM 2 event handling can be mixed in a document

Chapter 5 © 2003 by Addison-Wesley, Inc The navigator object - Indicates which browser is being used - Two useful properties 1. The appName property has the browser’s name 2. The appVersion property has the version # - Microsoft has chosen to set the appVersion of IE6 to 4 (?) - Netscape has chosen to set the appVersion of NS6 to 5.0 (?)  SHOW navigator.html & Figures 5.9 & 5.10