Synopses & Reviews
PRACTICAL, EXAMPLE-RICH COVERAGE OF: - XHTML®
- CSS®
- JavaScript™: Control Statements,
- Functions, Arrays, Objects
- JSON (JavaScript Object Notation)
- XHTML DOM®: Objects and Collections
- JavaScript Event-Driven Programming
- XML® and RSS
- XML DOM
- Rich Internet Applications
- Asynchronous JavaScript and XML (Ajax)
- XMLHttpRequest
- Dojo Toolkit
- Consuming Web Services
- And more…
VISIT
- Download code examples
- Check out the growing list of programming, Web 2.0 and software-related Resource Centers
- To receive updates for this book, subscribe to the free Deitel ® Buzz Online e-mail newsletter at www.deitel.com/newsletter/subscribe.html
- Read archived issues of the Deitel ® Buzz Online
- Contact [email protected] for information on corporate training courses delivered on-site worldwide
The practicing programmer’s Deitel® guide to XHTML®, CSS®, JavaScript™, XML® and Ajax RIA development.
This book applies the Deitel signature live-code approach to teaching the client side of Rich Internet Applications (RIA) development. The book presents concepts in the context of 100+ fully tested programs (6,000+ lines of code), complete with syntax shading, detailed descriptions and sample outputs. The book features over 150 tips that will help you build robust client-side web applications.
Start with an introduction to Extensible HyperText Markup Language (XHTML®) and Cascading Style Sheets (CSS®), then rapidly move on to the details of JavaScript™ programming. Finish with more advanced client-side development technologies including XHTML’s Document Object Model (DOM®), Extensible Markup Language (XML®), XML’s DOM, JavaScript Object Notation (JSON) and Asynchronous JavaScript and XML (Ajax). When you’re finished, you’ll have everything you need to build the client side of Web 2.0 Rich Internet Applications (RIAs). The book culminates with several substantial Ajax-enabled RIAs, including a book cover viewer (JavaScript/DOM), an address book (Ajax/consuming web services) and a calendar application (Ajax/Dojo/consuming web services).
TheDeitel® Developer Seriesis designed for professional programmers. The series presents focused treatments of emerging technologies, including .NET, Java™, web services, Internet and web development and more.
Pre-Publication Reviewer Testimonials
“One of the best introductions to JavaScript.”—Raymond Wisman, Indiana University Southeast
“Cements the browser as a first-class development platform.”—Johnvey Hwang, Splunk, Inc.
“Excellent for learning to develop standards-compliant web applications.”—Paul Vencill, MITRE, Inc.
“The CSS chapter is compact, concise and full of useful info!”—Billy B. L. Lim, Illinois State University
“A good introduction to the DOM; doesn’t trip over cross-browser incompatibilities.”—Eric Lawrence, Microsoft
“Exceptionally clear Ajax tutorial; best I’ve reviewed! Great solutions for the very cool type-ahead and edit-in-place Ajax features. ‘Libraries to Help Eliminate Cross-Browser Compatibility Issues’ is fantastic. This book and your websites will be often-visited resources (if not best practices in themselves).”—John Peterson, Insync and V.I.O. Inc.
“I wish I’d had this when I was learning to program.”—Joe Kromer, New Perspective
Synopsis
PRACTICAL, EXAMPLE-RICH COVERAGE OF: - XHTML(R)
- CSS(R)
- JavaScript(TM) Control Statements,
- Functions, Arrays, Objects
- JSON (JavaScript Object Notation)
- XHTML DOM(R) Objects and Collections
- JavaScript Event-Driven Programming
- XML(R) and RSS
- XML DOM
- Rich Internet Applications
- Asynchronous JavaScript and XML (Ajax)
- XMLHttpRequest
- Dojo Toolkit
- Consuming Web Services
- And more...
VISIT WWW.DEITEL.COM
- Download code examples
- Check out the growing list of programming, Web 2.0 and software-related Resource Centers
- To receive updates for this book, subscribe to the free Deitel (R) Buzz Online e-mail newsletter at www.deitel.com/newsletter/subscribe.html
- Read archived issues of the Deitel (R) Buzz Online
- Contact [email protected] for information on corporate training courses delivered on-site worldwide
The practicing programmer's Deitel(R) guide to XHTML(R), CSS(R), JavaScript(TM), XML(R) and Ajax RIA development.
This book applies the Deitel signature live-code approach to teaching the client side of Rich Internet Applications (RIA) development. The book presents concepts in the context of 100+ fully tested programs (6,000+ lines of code), complete with syntax shading, detailed descriptions and sample outputs. The book features over 150 tips that will help you build robust client-side web applications.
Start with an introduction to Extensible HyperText Markup Language (XHTML(R)) and Cascading Style Sheets (CSS(R)), then rapidly move on to the details of JavaScript(TM) programming. Finish with more advanced client-side development technologies including XHTML's Document Object Model (DOM(R)), Extensible Markup Language (XML(R)), XML's DOM, JavaScript Object Notation (JSON) and Asynchronous JavaScript and XML (Ajax). When you're finished, you'll have everything you need to build the client side of Web 2.0 Rich Internet Applications (RIAs). The book culminates with several substantial Ajax-enabled RIAs, including a book cover viewer (JavaScript/DOM), an address book (Ajax/consuming web services) and a calendar application (Ajax/Dojo/consuming web services).
TheDeitel(R) Developer Seriesis designed for professional programmers. The series presents focused treatments of emerging technologies, including .NET, Java(TM), web services, Internet and web development and more.
Pre-Publication Reviewer Testimonials
"One of the best introductions to JavaScript."--Raymond Wisman, Indiana University Southeast
"Cements the browser as a first-class development platform."--Johnvey Hwang, Splunk, Inc.
"Excellent for learning to develop standards-compliant web applications."--Paul Vencill, MITRE, Inc.
"The CSS chapter is compact, concise and full of useful info "--Billy B. L. Lim, Illinois State University
"A good introduction to the DOM; doesn't trip over cross-browser incompatibilities."--Eric Lawrence, Microsoft
"Exceptionally clear Ajax tutorial; best I've reviewed Great solutions for the very cool type-ahead and edit-in-place Ajax features. 'Libraries to Help Eliminate Cross-Browser Compatibility Issues' is fantastic. This book and your websites will be often-visited resources (if not best practices in themselves)."--John Peterson, Insync and V.I.O. Inc.
"I wish I'd had this when I was learning to program."--Joe Kromer, New Perspective
Synopsis
Designed for programmers fluent in other languages but new to JavaScript, this comprehensive tutorial incorporates the Deitels' signature live code style, starting with the basics then moving on to all-important advanced topics.
Synopsis
Synopsis
Use the Deitels’ acclaimed video lessons and best-selling book side by side to master JavaScript fast, and start building hot new JavaScript and Ajax applications right now! A $125 value, JavaScript Fundamentals I and II LiveLessons Bundle gives you instant skills, answers, and solutions from 13+ hours of easy DVD video LiveLessons--plus even deeper insights from the world’s #1 guide to practical JavaScript programming! Using Deitel & Co.’s signature “Live Code” approach, renowned instructor Paul Deitel teaches the right way: from complete working programs, not trivial snippets. Deitel’s video lessons focus on exactly what you need to know, helping you master new skills fast, and put them to work immediately. Just watch and learn how to use control statements, functions, arrays, objects, events, CSS, DOM, and more. Then, master scripting with XML and RSS, and start building the Ajax rich Internet apps that are taking the Web by storm! For even more powerful solutions, turn to the Deitels’ JavaScript for Programmers: with 100+ fully tested programs and 150+ great tips for building robust client-side web apps, it’s the only JavaScript book you’ll ever need!
About the Author
Paul Deitel is CEO, CTO, and co-founder of Deitel and Associates, Inc., an internationally recognized training and content creation organization specializing in programming languages, Internet/Web technologies, object technologies, and Internet business development. Through Deitel and Associates, Inc., he has delivered C++, C#, VB, and Java courses to industry clients, including IBM, Sun Microsystems, Dell, Lucent Technologies, Fidelity, NASA, White Sands Missile Range, Rogue Wave Software, Boeing, Stratus, Cambridge Technology Partners, Entergy, Nortel Networks, Puma, iRobot, and many more. He has also lectured on C++ for the Boston Chapter of the Association for Computing Machinery. Paul Deitel is CEO, CTO, and co-founder of Deitel and Associates, Inc., an internationally recognized training and content creation organization specializing in programming languages, Internet/Web technologies, object technologies, and Internet business development. Through Deitel and Associates, Inc., he has delivered C++, C#, VB, and Java courses to industry clients, including IBM, Sun Microsystems, Dell, Lucent Technologies, Fidelity, NASA, White Sands Missile Range, Rogue Wave Software, Boeing, Stratus, Cambridge Technology Partners, Entergy, Nortel Networks, Puma, iRobot, and many more. He has also lectured on C++ for the Boston Chapter of the Association for Computing Machinery.
Table of Contents
Preface xvBefore You Begin xxiii
Chapter 1: Introduction 1
1.1 Introduction 2
1.2 History of the Internet and World Wide Web 3
1.3 World Wide Web Consortium (W3C) 5
1.4 Web 2.0 5
1.5 Key Software Trend: Object Technology 7
1.6 JavaScript: Object-Based Scripting for the Web 8
1.7 Browser Portability 9
1.8 Web Resources 9
Chapter 2: Introduction to XHTML 10
2.1 Introduction 11
2.2 Editing XHTML 12
2.3 First XHTML Example 12
2.4 W3C XHTML Validation Service 15
2.5 Headings 15
2.6 Linking 16
2.7 Images 19
2.8 Special Characters and Horizontal Rules 22
2.9 Lists 24
2.10 Tables 27
2.11 Forms 31
2.12 Internal Linking 38
2.13 meta Elements 40
2.14 Web Resources 42
Chapter 3: Cascading Style Sheets™ (CSS) 43
3.1 Introduction 44
3.2 Inline Styles 45
3.3 Embedded Style Sheets 46
3.4 Conflicting Styles 49
3.5 Linking External Style Sheets 52
3.6 Positioning Elements 54
3.7 Backgrounds 58
3.8 Element Dimensions 59
3.9 Box Model and Text Flow 61
3.10 Media Types 65
3.11 Building a CSS Drop-Down Menu 67
3.12 User Style Sheets 69
3.13 CSS 3 73
3.14 Web Resources 73
Chapter 4: JavaScript: Introduction to Scripting 74
4.1 Introduction 75
4.2 Simple Program: Displaying a Line of Text in a Web Page 76
4.3 Modifying Our First Program 79
4.4 Obtaining User Input with prompt Dialogs 84
4.5 Data Types in JavaScript 90
4.6 Arithmetic 90
4.7 Decision Making: Equality and Relational Operators 91
4.8 Web Resources 95
Chapter 5: JavaScript: Control Statements I 96
5.1 Introduction 97
5.2 Control Statements 97
5.3 if Selection Statement 98
5.4 if…else Selection Statement 99
5.5 while Repetition Statement 103
5.6 Counter-Controlled Repetition 104
5.7 Formulating Algorithms: Sentinel-Controlled Repetition 106
5.8 Formulating Algorithms: Nested Control Statements 109
5.9 Assignment Operators 112
5.10 Increment and Decrement Operators 113
5.11 Web Resources 116
Chapter 6: JavaScript: Control Statements II 117
6.1 Introduction 118
6.2 Essentials of Counter-Controlled Repetition 118
6.3 for Repetition Statement 120
6.4 Examples Using the for Statement 124
6.5 switch Multiple-Selection Statement 128
6.6 do…while Repetition Statement 133
6.7 break and continue Statements 135
6.8 Labeled break and continue Statements 138
6.9 Logical Operators 140
Chapter 7: JavaScript: Functions 145
7.1 Introduction 146
7.2 Functions 146
7.3 Programmer-Defined Functions 147
7.4 Function Definitions 147
7.5 Random Number Generation 152
7.6 Example: Game of Chance 157
7.7 Another Example: Random Image Generator 163
7.8 Scope Rules 165
7.9 JavaScript Global Functions 167
7.10 Recursion 168
7.11 Recursion vs. Iteration 172
Chapter 8: JavaScript: Arrays 173
8.1 Introduction 174
8.2 Arrays 174
8.3 Declaring and Allocating Arrays 175
8.4 Examples Using Arrays 176
8.5 Random Image Generator Using Arrays 183
8.6 References and Reference Parameters 184
8.7 Passing Arrays to Functions 185
8.8 Sorting Arrays 188
8.9 Multidimensional Arrays 190
8.10 Building an Online Quiz 194
Chapter 9: JavaScript: Objects 197
9.1 Introduction 198
9.2 Introduction to Object Technology 198
9.3 Math Object 201
9.4 String Object 202
9.5 Date Object 213
9.6 Boolean and Number Objects 218
9.7 document Object 219
9.8 window Object 220
9.9 Using Cookies 225
9.10 Multipage HTML and JavaScript Application 229
9.11 Using JSON to Represent Objects 237
Chapter 10: Document Object Model (DOM): Objects and Collections 238
10.1 Introduction 239
10.2 Modeling a Document: DOM Nodes and Trees 239
10.3 Traversing and Modifying a DOM Tree 242
10.4 DOM Collections 253
10.5 Dynamic Styles 255
10.6 Summary of the DOM Objects and Collections 261
Chapter 11: JavaScript: Events 263
11.1 Introduction 264
11.2 Registering Event Handlers 264
11.3 Event onload 267
11.4 Event onmousemove, the event Object and this 268
11.5 Rollovers with onmouseover and onmouseout 273
11.6 Form Processing with onfocus and onblur 277
11.7 Form Processing with onsubmit and onreset 280
11.8 Event Bubbling 282
11.9 More Events 284
11.10 Web Resources 285
Chapter 12: XML and RSS 286
12.1 Introduction 287
12.2 XML Basics 287
12.3 Structuring Data 290
12.4 XML Namespaces 297
12.5 Document Type Definitions (DTDs) 300
12.6 W3C XML Schema Documents 304
12.7 XML Vocabularies 310
12.8 Extensible Stylesheet Language and XSL Transformations 314
12.9 Document Object Model (DOM) 324
12.10 RSS 342
12.11 Web Resources 349
Chapter 13: Ajax-Enabled Rich Internet Applications 350
13.1 Introduction 351
13.2 Traditional Web Applications vs. Ajax Applications 352
13.3 Rich Internet Applications (RIAs) with Ajax 353
13.4 History of Ajax 355
13.5 “Raw” Ajax Example Using the XMLHttpRequest Object 356
13.6 Using XML and the DOM 361
13.7 Creating a Full-Scale Ajax-Enabled Application 366
13.8 Dojo Toolkit 379
13.9 Web Resources 388
Appendix A: XHTML Special Characters 389
Appendix B: XHTML Colors 390
Appendix C: JavaScript Operator Precedence Chart 393
C.1 Operator Precedence Chart 393
Index 395