1 HTML Documents and JavaScript Tom Horton Alfred C. Weaver CS453 Electronic Commerce.

Slides:



Advertisements
Similar presentations
MA foundation Creating webpages using XHTML (part 1) Simon Mahony CCH
Advertisements

The eXtensible Markup Language (XML) An Applied Tutorial Kevin Thomas.
What is XML? a meta language that allows you to create and format your own document markups a method for putting structured data into a text file; these.
XML/EDI Overview West Chester Electronic Commerce Resource Center (ECRC)
Standards and Increasing Maintainability on Web- based Systems James Eaton SE4112/16/2006.
1 © Netskills Quality Internet Training, University of Newcastle XML.
Authoring Languages and Web Authoring Software 4.01 Examine web page development and design.
Pengantar Teknologi Mobile 13 Antonius Rachmat C, S.Kom, M.Cs XHTML.
Tim Berners-Lee authors HTML in 1991, assisted by his colleagues at CERN,
XHTML 16-Apr-17.
17-Jun-15 XHTML 2 What is XHTML? XHTML stands for Extensible Hypertext Markup Language XHTML is aimed to replace HTML.
XML A brief introduction ---by Yongzhu Li. XML --- a brief introduction 2 CSI668 Topics in System Architecture SUNY Albany Computer Science Department.
Chapter 9 Introduction to the Document Object Model (DOM) JavaScript, Third Edition.
XML Primer. 2 History: SGML vs. HTML vs. XML SGML (1960) XML(1996) HTML(1990) XHTML(2000)
Upgrading to XHTML DECO 3001 Tutorial 1 – Part 1 Presented by Ji Soo Yoon 19 February 2004 Slides adopted from
HTML Elements. HTML documents are defined by HTML elements.
CS 415 N-Tier Application Development By Umair Ashraf July 16,2013 National University of Computer and Emerging Sciences Lecture # 12 HTML/ XHTML/ HTML5.
CNIT 133 Interactive Web Pags – JavaScript and AJAX Review HTML5.
Tutorial 1: Getting Started with HTML5
XML – Extensible Markup Language Sivakumar Kuttuva & Janusz Zalewski.
HTML & XHTML Introduction. First HTML 1992 Marked-up text to represent a hypertext document for transmission over the network The hypertext mark-up language.
9/4/2015 ©2006 Scott Miller, University of Victoria 1 HTML Introduction The Basics Syntax and Objects Successors Rev 2.0.
Week 1.  Phillip Chee   Ext.1214 
XML eXtensible Markup Language Erik Forsström Olle Wessel Patrik Löfgren.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
Extensible Hypertext Markup Language A successor to HTML 4.01 XML-compliant W3C is improving and expanding.
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
XHTML - Basics Teppo Räisänen LIIKE/OAMK Introduction XHTML = eXtensible Hypertext Markup Language Transitional ~ HTML 4.01 Goal: to replace HTML.
XML Basics Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University Extensible Meta Language Markup Language.
XHTML,XML M.Abdullah Mrian. What is the XHTML Why XHTML ?
These Questions are copied from
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
XML About XML Things to be known Related Technologies XML DOC Structure Exploring XML.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
Presentation Topic: XML and ASP Presented by Yanzhi Zhang.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
XHTML and CSS Session 1 Intro, (X)HTML, CSS, W3C, browsers, webpage, structure, tags, attributes, elements, web development process, basic XHTML elements.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
XHTML1-1 Extensible HyperText Markup Language (XHTML) Part 2 Xingquan (Hill) Zhu
IT Engineering I Instructor: Rezvan Shiravi
XML Introduction. Markup Language A markup language must specify What markup is allowed What markup is required How markup is to be distinguished from.
XML Basics A brief introduction to XML in general 1XML Basics.
Jennifer Widom XML Data Introduction, Well-formed XML.
A Look at HTML (and XHTML). Types of Web Applications.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Web Terminology Intro to Web. North Lake College 2 by Sean Griffin HTML vs. XHTML HTML: Hypertext Markup Language XHTML: eXtensible Hypertext Markup Language.
SCHOOL OF LIBRARY, ARCHIVE AND INFORMATION STUDIES Andy Dawson LIS1510 Library and Archives Automation Issues XML and extensible systems Andy Dawson School.
XML The Extensible Markup Language (XML ), which is comparable to SGML and modeled on it, describes how to describe a collection of data. A standard way.
Headings are defined with the to tags. defines the largest heading. defines the smallest heading. Note: Browsers automatically add an empty line before.
Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 2: Markup Language and Site Development Essentials © 2007 Prosoft Learning Corporation All.
University of South Asia Course Name: Web Application Prepared By: Md Rezaul Huda Reza
Invitation to Computer Science 6 th Edition Chapter 10 The Tower of Babel.
Module Road Map Assignment Road Map Notice we have linked the conduit directly to the presentation layer. This is normally a bad idea!
Creating User Interfaces XML, MathML, ChomeVox. XML eXtended Markup Language Tags and text Tags are singletons and paired. Tags have types and, generally,
Basic Steps to create a Website using HTML5. Hypertext Markup Language.
1 Lecture 7 Style Sheets: CSS. 2 Motivation HTML markup can be used to represent –Semantics: h1 means that an element is a top-level heading –Presentation:
1 ITEC 4830 Graphics Design Chapter 1 Dreamweaver MX 2004 Basics.
Tutorial #1 Using HTML to Create Web Pages. HTML, XHTML, and CSS HTML – HyperText Markup Language The tags the browser uses to define the content of the.
Web Design Principles 5 th Edition Chapter 3 Writing HTML for the Modern Web.
CIS 228 The Internet Day 1, 8/30. The Course Instructor: Bowen Alpern ● Office hour: 4-5pm Tu (and by appointment)
Mark-up Languages Compare and describe at least 3 mark-up languages and what they do.
Project 1 Introduction to HTML.
Unit 4 Representing Web Data: XML
Chapter 1 HTML, XHTML, and the World Wide Web
INP150: Basic HTML Instructor: Paul J. Millis
Chapter 7 Representing Web Data: XML
Chapter 1 HTML, XHTML, and the World Wide Web
HTML A brief introduction HTML.
XML Data Introduction, Well-formed XML.
Presentation transcript:

1 HTML Documents and JavaScript Tom Horton Alfred C. Weaver CS453 Electronic Commerce

2 Overview Some basic HTML And principles and issues W3C Standards that are relevant DOM, XML, XHTML, ECMAScript JavaScript introduction Your tasks: HTML, JavaScript exercises in VirtualLabs Homework 2 on JavaScript

3 Readings Many on-line tutorials Other on-line references (report!) Our textbook Chap. 12 on HTML Virtual Lab exercises On HTML, JavaScript

4 HTML Background Many “markup” languages in the past SGML: Standard Generalized Markup Language HTML (Hypertext Markup Language) based on SGML XML (eXtensible Markup Language) “replaces” SGML XHTML is replacing HTML

5 Principles Distinguish structure from presentation Presentation based on structure Presentation may vary, perhaps based on display characteristics, user-preference, etc. People like to ignore this idea E.g. use vs. tag? XML and CSS or XSL

6

7 Tags and Elements Example of an element: content Begin and end tags set off a section of a document Has a semantic property by tag-name Modified by attributes “content” can contain other elements Elements nest, don’t “overlap” Empty-elements: no end tag Note space before />

8 Basic HTML Structure Comments: Example: … …. <--- title, meta-tags, etc. (not displayed) <--- main content (displayed)

9 Larger Example An Example An Example Hello World! I am 21. Green Yellow John Mike

10 Displays As…

11 Basic Tags Text display:,, Structure:,,,, Attributes: Align, text, bgcolor, etc.

12 Basic Tags (2) Links: … Images: an empty tag Tables Use an editor! Forms: later

13 More HTML Learn on your own You may never code in “raw” HTML You may need to tweak HTML files created by a tool You will need to understand HTML to code in JavaScript etc. You will need to understand HTML to know limitations on how docs on the web can be structured

14 Question: You’re writing software to process an HTML page A web-browser engine, for example What data structure would best represent an HTML document? Why?

15 Discuss and give me details

16 Document Object Model (DOM) An model for describing HTML documents (and XML documents) A standard (ok, standards) Independent of browser, language (ok, mostly) A common set of properties/methods to access everything in a web document APIs in JavaScript, for Java, etc.

17 DOM You get anything you want from… More info: Object_Model

18 W3C Standards XML, XHTML CSS, XSL XSLT DOM ECMAScript etc

19 JavaScript An example of a “scripting” langauge that is embedded in HTML documents The browser’s display engine must distinguish from HTML and Script statements Others like this: PHP (later in the course)

20 History JavaScript created by Netscape JScript created by Microsoft IE and Netscape renderings are slightly different Standardized by European Computer Manufacturers Association (ECMA) org/publications /standards/Ecma-262.htm

21 General Format Name of web page...script goes here </head...page body here: text, forms, tables...more JavaScript if needed...onload, onclick, etc. commands here

22 Characteristics Case sensitive Object oriented Produces an HTML document Dynamically typed Standard operator precedence Overloaded operators Reserved words

23 Characteristics Division with / is not integer division Modulus (%) is not an integer operator 5 / 2 yields / 2.1 yields % 2 yields % 2.1 yields

24 Characteristics " and ' can be used in pairs Scope rules for variables Strings are very common data types Rich set of methods available Arrays have dynamic length Array elements have dynamic type Arrays are passed by reference Array elements are passed by value

25 JavaScript Topics code placement document.writeln document tags window.alert user input/output parseInt and parseFloat arithmetic arithmetic comparisons for loops while loops do-while loops if-else variable values in tags math library switch break labeled break continue Booleans

26 JavaScript Topics functions random numbers rolling dice form input form output submit buttons games arrays searching strings substrings string conversions markup methods

27 JavaScript’s Uses Include: “Dynamic” web-pages What’s DHTML? (in a second) Image manipulation Swapping, rollovers, slide shows, etc. Date, time stuff (e.g. clocks, calendars) HTML forms processing Verifying input; writing output to fields Cookies

28 What’s DHTML? Purpose: make dynamic / interactive web-pages on the client side Use of a collection of technologies together to do this, including Markup language (HTML, XML, etc.) Scripting language (JavaScript, etc.) Presentation language (CSS etc.)

29 Other References CS453 Virtual Lab exercises The Web Wizard’s Guide To JavaScript, Steven Estrella, Addison-Wesley JavaScript for the World Wide Web, Gesing and Schneider, Peachpit Press E-books in UVa’s Safari On-line Books:

30 Browser Compatability Use of: “language=“ for pre IE5 and NS6 Comment for very old browsers (e.g. IE2) BTW, comments in HTML vs. in JavaScript

31 Organization of JavaScript Create functions (non-OO style) Define in header Or load a.js file in header: Functions called in Often in response to events, e.g. Global variables

32 JavaScript Programming by example

33 document.writeln Welcome to JavaScript document.writeln( " Welcome to ", "JavaScript Programming! " );

34 document.write Using document.write document.write ( " Welcome to "); document.writeln( "JavaScript Programming! " );

35 window.alert Using window.alert window.alert( "Welcome to\nJavaScript\nProgramming!" ); Click Refresh (or Reload) to run this script again.

36 User input/output var firstNumber, // first string entered by user secondNumber, // second string entered by user number1, // first number to add number2, // second number to add sum; // sum of number1 and number2 // read in first number from user as a string firstNumber = window.prompt("Enter first integer", "0" ); // read in second number from user as a string secondNumber = window.prompt( "Enter second integer", "0" ); // convert numbers from strings to integers firstNumber = parseInt(firstNumber); number2 = parseInt( secondNumber ); // add the numbers sum = firstNumber + number2; // display the results document.writeln( " The sum is " + sum + " " );

37 Functions var input1 = window.prompt( "Enter first number", "0" ); var input2 = window.prompt( "Enter second number", "0" ); var input3 = window.prompt( "Enter third number", "0" ); var value1 = parseFloat( input1 ); var value2 = parseFloat( input2 ); var value3 = parseFloat( input3 ); var maxValue = maximum( value1, value2, value3 ); document.writeln( "First number: " + value1 + " Second number: " + value2 + " Third number: " + value3 + " Maximum is: " + maxValue ); // maximum method definition (called from above) function maximum( x, y, z ) { return Math.max( x, Math.max( y, z ) ); }

38 Random Numbers var value; document.writeln( " Random Numbers " + " " ); for ( var i = 1; i <= 20; i++ ) { value = Math.floor( 1 + Math.random() * 6 ); document.writeln( " " + value + " " ); if ( i % 5 == 0 && i != 20 ) document.writeln( " " ); } document.writeln( " " );

39 Roll the Die var frequency1 = 0, frequency2 = 0, frequency3 = 0, frequency4 = 0, frequency5 = 0, frequency6 = 0, face; // summarize results for ( var roll = 1; roll <= 6000; ++roll ) { face = Math.floor( 1 + Math.random() * 6 ); switch ( face ) { case 1: ++frequency1; break; case 2: ++frequency2; break; case 3: ++frequency3; break; case 4: ++frequency4; break; case 5: ++frequency5; break; case 6: ++frequency6; break; } document.writeln( " " );.....

40 Rules of Craps First roll: 7 or 11 is a win 2, 3, or 12 is a lose otherwise, roll becomes your point Subsequent rolls: rolling your point is a win 7 or 11 is a lose otherwise continue to roll

41 Craps // variables used to test the state of the game var WON = 0, LOST = 1, CONTINUE_ROLLING = 2; // other variables used in program var firstRoll = true, // true if first roll sumOfDice = 0, // sum of the dice myPoint = 0, // point if no win/loss on first roll gameStatus = CONTINUE_ROLLING; // game not over yet

42 Craps // process one roll of the dice function play() { if ( firstRoll ) { // first roll of the dice sumOfDice = rollDice(); switch ( sumOfDice ) { case 7: case 11: // win on first roll gameStatus = WON; document.craps.point.value = ""; // clear point field break; case 2: case 3: case 12: // lose on first roll gameStatus = LOST; document.craps.point.value = ""; // clear point field break;

43 Craps default: // remember point gameStatus = CONTINUE_ROLLING; myPoint = sumOfDice; document.craps.point.value = myPoint; firstRoll = false; } else { sumOfDice = rollDice(); if ( sumOfDice == myPoint ) gameStatus = WON; else if ( sumOfDice == 7 ) gameStatus = LOST; }

44 Craps if ( gameStatus == CONTINUE_ROLLING ) window.alert ("Roll again"); else { if ( gameStatus == WON ) { window.alert ("Player wins. " + "Click Roll Dice to play again."); document.craps.point.value = " "; } else { window.alert ("Player loses. " + "Click Roll Dice to play again."); document.craps.point.value = " "; } firstRoll = true; }

45 Craps // roll the dice function rollDice() { var die1, die2, workSum; die1 = Math.floor( 1 + Math.random() * 6 ); die2 = Math.floor( 1 + Math.random() * 6 ); workSum = die1 + die2; document.craps.firstDie.value = die1; document.craps.secondDie.value = die2; document.craps.sum.value = workSum; return workSum; }

46 Poker Hand function rand1toN(N) { return Math.floor( 1+Math.random()*N ); } function dealcard(card) { var rank = new Array(0,"A","2","3","4","5","6","7", "8","9","T","J","Q","K"); var suit = new Array(0, "Spades", "Hearts", "Diamonds", "Clubs"); card[0] = rank[rand1toN(13)]; card[1] = suit[rand1toN(4)]; }

47 Poker Hand var card = new Array(2); var player = new Array(10); var dealer = new Array(10); for (var i=0; i<=4; i++) { dealcard(card); player[i*2] = card[0]; player[i*2+1] = card[1]; dealcard(card); dealer[i*2] = card[0]; dealer[i*2+1] = card[1]; }

48 Poker Hand document.writeln(" PLAYER "); document.writeln(" "); for (var i=0; i<=4; i++) { document.writeln(" " + player[i*2] + " " + " " + player[i*2+1] + " "); } document.writeln(" ");

49 Character Processing var s = "ZEBRA"; var s2 = "AbCdEfG"; document.writeln( " Character at index 0 in '"+ s + '" is " + s.charAt( 0 ) ); document.writeln( " Character code at index 0 in '" + s + "' is " + s.charCodeAt( 0 ) + " " ); document.writeln( " '" + String.fromCharCode( 87, 79, 82, 68 ) + "' contains character codes 87, 79, 82 and 68 " ); document.writeln( " '" + s2 + "' in lowercase is '" + s2.toLowerCase() + "'" ); document.writeln( " '" + s2 + "' in uppercase is '" + s2.toUpperCase() + "' " );

50 Dates and Times var current = new Date(); document.writeln(current); document.writeln( " String representations and valueOf " ); document.writeln( "toString: " + current.toString() + " toLocaleString: " + current.toLocaleString() + " toUTCString: " + current.toUTCString() + " valueOf: " + current.valueOf() ); document.writeln( " Get methods for local time zone " ); document.writeln( "getDate: " + current.getDate() + " getDay: " + current.getDay() + " getMonth: " + current.getMonth() + " getFullYear: " + current.getFullYear() + " getTime: " + current.getTime() + " getHours: " + current.getHours() + " getMinutes: " + current.getMinutes() + " getSeconds: " + current.getSeconds() + " getMilliseconds: " + current.getMilliseconds() + " getTimezoneOffset: " + current.getTimezoneOffset() );

51 Dates and Times document.writeln( " Specifying arguments for a new Date " ); var anotherDate = new Date( 1999, 2, 18, 1, 5, 3, 9 ); document.writeln( "Date: " + anotherDate ); document.writeln( " Set methods for local time zone " ); anotherDate.setDate( 31 ); anotherDate.setMonth( 11 ); anotherDate.setFullYear( 1999 ); anotherDate.setHours( 23 ); anotherDate.setMinutes( 59 ); anotherDate.setSeconds( 59 ); document.writeln( "Modified date: " + anotherDate );

52 Radio buttons Assure that at least one radio button is clicked before taking action

53 Checkboxes Respond to selections made with checkboxes

54 Textboxes Detecting an empty textbox

55 Self-grading Tests Collecting and evaluating answers to questions

56 Character String Processing Validate an address

57 Cookies Write a cookie on the client's device

58 Events JavaScript can execute a statement (typically, call a function) when an event occurs

59 Events onsubmit - call when submit button is clicked onclick - call when this button is clicked onreset - call when the reset button is clicked onload - call after page loads onmouseover - call when mouse pointer enters image area onmouseout - call when mouse pointer leaves image area onfocus - call when control receives focus onblur - call when a control loses focus onchange - call when a control loses focus and the value of its contents has changed many more

60 Mouse Events Illustrate onmouseover and onmouseout

61 Handling Time Create a simple JavaScript clock

62 Controlling Time Turn a clock on and off and format the time string

63 Handling Images Create a slide show

64 Generate Real-Time Data Simulate monitoring real-time information from a device

65 Continuous Update Gather data synchronously using the clock as the event generator

66 End of Examples