The table of contents of “Beginning JavaScript with DOM scripting and Ajax”

Some people asked me at @media about detailed content of my upcoming book. So without further ado, here is the table of contents with page numbers:

  • Foreword xiii
  • About the Author xv
  • About the Technical Reviewer xvii
  • Introduction xix
  • CHAPTER 1 Getting Started with JavaScript 1- The Why of JavaScript 3
  • What Is JavaScript? 4
  • Problems and Merits of JavaScript 5
  • Why Use JavaScript If It Cannot Be Relied On? 6
  • JavaScript in a Web Page and Essential Syntax 7- JavaScript Syntax 8
  • Code Execution 9
  • An Aside About Functions 11
  • Objects 12
  • A Simple JavaScript Example 13
  • Summary 16
  • CHAPTER 2 Data and Decisions 17- Data, Data Types, and Data Operators 18- The String Data Type 18
  • Operators 21
  • JavaScript Variables 23
  • Converting Different Types of Data 26
  • The Composite Data Types: Array and Object 30- Objects JavaScript Supplies You with: String, Date and Math 30
  • Arrays 39- The Array Object’s Methods and Properties 42
  • Making Decisions in JavaScript 45- The Logical and Comparison Operators 45
  • Conditional Statements 49
  • Testing Multiple Values: the switch Statement 52
  • Repeating Things: Loops 54
  • Summary 59
  • CHAPTER 3 From DHTML to DOM Scripting 61- JavaScript As the Behavior Layer 63- Object Detection vs. Browser Dependence 65
  • Progressive Enhancement 68
  • JavaScript and Accessibility 69
  • Good Coding Practices 71- Naming Conventions 71
  • Code Layout 72
  • Commenting 74
  • Functions 76
  • Short Code via the Ternary Operator 79
  • Sorting and Reuse of Functions 80
  • Variable and Function Scope 80
  • Keeping Scripts Safe with the Object Literal 81
  • Summary 83
  • CHAPTER 4 HTML and JavaScript 85- The Anatomy of an HTML Document 85
  • Providing Feedback in Web Pages via JavaScript: The Old School Ways 89- Using window Methods: prompt(), alert(),and confirm() 90
  • Accessing the Document via the DOM 96
  • Of Children, Parents, Siblings, and Values 99- From the Parents to the Children 100
  • From the Children to the Parents 102
  • Among Siblings 103
  • Changing Attributes of Elements 107
  • Creating, Removing, and Replacing Elements 109- Avoiding NOSCRIPT 113
  • Shortening Your Scripts via InnerHTML 115
  • DOM Summary: Your Cheat Sheet 116
  • DOMhelp: Our Own Helper Library 118
  • Summary 122
  • CHAPTER 5 Presentation and Behavior (CSS and Event Handling) 123- Changing the Presentation Layer via JavaScript 123- Helping the CSS Designer 131
  • Changing the Document’s Behavior via Event Handling 153- Events in the W3C-Compliant World 156
  • Fixing Events for the Non-W3C-Compliant World 165
  • Never Stop Optimizing 172
  • The Ugly Page Load Problem and Its Ugly Solutions 173
  • Reading and Filtering Keyboard Entries 174
  • The Dangers of Event Handling 179
  • Summary 180
  • CHAPTER 6 Common Uses of JavaScript: Images and Windows 183- Images and JavaScript 183- Basics of Image Scripting 184
  • Preloading Images 186
  • Rollover Effects 187
  • Slide Shows 196
  • Summary of Images and JavaScript 211
  • Windows and JavaScript 212- Window Properties 213
  • Window Methods 215
  • Summary: Windows and JavaScript 238
  • Summary 239
  • CHAPTER 7 JavaScript and User Interaction: Navigation and Forms 241- Navigation and JavaScript 241- The Fear of the Page Reload 242
  • Basics of Navigation and JavaScript 242
  • Browser Navigation 245
  • In-Page Navigation 246
  • Site Navigation 255
  • Pagination 263
  • Summary of Navigation with JavaScript 272
  • Forms and JavaScript 272- Basics of Forms with JavaScript 274
  • Form Elements 275
  • Interactive Forms: Hiding and Showing Dependent Elements 291
  • Custom Form Elements 297
  • Summary of Forms and JavaScript 297
  • Summary 297
  • CHAPTER 8 Back-End Interaction with Ajax 299- Household Cleaning Liquid, Football Club, or Flash Gordon’s Spacecraft: What Is Ajax? 300
  • Et Tu, Cache? 309
  • Putting the X Back into Ajax 309- Replacing XML with JSON 314
  • Using Server-Side Scripts to Reach Third-Party Content 316
  • XHR on Slow Connections 320
  • A Larger Ajax Example: Connected Select Boxes 323
  • Optional Dynamic Ajax Menus 331
  • Summary 340
  • CHAPTER 9 Data Validation Techniques 343- Pros and Cons of Client-Side JavaScript Validation 343
  • A Quick Reminder About Protecting Content with JavaScript 344
  • The One-Size-Fits-All Validation Myth 345
  • Basic JavaScript Validation with String and Numeric Methods 346- String Validation Methods 346
  • Numeric Validation Methods 352
  • Regular Expressions 357- Syntax and Attributes 357
  • Wildcard Searches, Constraining Scope, and Alternatives 358
  • Restricting the Number of Characters with Quantifiers 359
  • Word Boundaries, Whitespace, and Other Shortcuts 360
  • Methods Using Regular Expressions 361
  • The Power of Parenthesis Grouping 361
  • Regular Expression Resources 363
  • Summary of Validation Methods 363
  • Form Validation Techniques 364- Designating Mandatory Fields 364
  • The Hidden Field Method 364
  • The Indicator Element Method 365
  • The CSS Classes Method 366
  • The Custom Attribute Method 366
  • Failures of These Methods 367
  • Sharing Validation Rules 367
  • Giving Users Validation Feedback 369- Showing a List of Erroneous Fields 369
  • Replacing the Main Form with a Clickable Error Message 374
  • Highlighting Erroneous Fields Individually 376
  • Instant Validation Feedback 379
  • Other Dynamic Validation Methods 381
  • Summary 385
  • CHAPTER 10 Modern JavaScript Case Study: A Dynamic Gallery 387- Basics of Thumbnail Galleries 387
  • What Is a Thumbnail Gallery and What Should It Do? 388
  • Static Thumbnail Galleries 388
  • Faking Dynamic Galleries with JavaScript 389
  • Displaying Captions 396
  • Dynamic Thumbnail Galleries 401
  • Creating an Image Badge From a Folder 406
  • Summary 414
  • CHAPTER 11 Using Third-Party JavaScript 415- What the Web Offers You 415
  • Code Snippets, RSS Feeds, APIs, and Libraries 416- RSS Feeds and REST APIs 417
  • Examples of REST APIs 418
  • Using a Library: Short, Shorter, jQuery 419- Dangers of jQuery and Other Libraries Using Their Own Syntax 426
  • Using an API: Adding a Map to Your Site with Google Maps 427
  • Full Service: The Yahoo Developer Network and User Interface Library 438- Bouncy Headlines Using YUI 439
  • Replacing Pop-Up Windows Using the YUI Connection Manager and Container Components 444
  • Yahoo User Interface Library Summary 449
  • Summary 450
  • APPENDIX Debugging JavaScript 451- Common JavaScript Mistakes 451- Misspellings and Case-Sensitivity Issues 451
  • Trying to Access Undefined Variables 452
  • Incorrect Number of Closing Braces and Parentheses 454
  • Concatenation Gone Wrong 456
  • Assigning Instead of Testing the Value of a Variable 458
  • Tracing Errors with alert() and Console Elements 458
  • Error Handling with try and catch() 459
  • Sequential Uncommenting 462
  • Error Reporting in Browsers 463- Microsoft Internet Explorer 6 463
  • Safari 464
  • Opera 8.5 466
  • Firefox 1.5.0.3 466
  • JSLint and JSUNIT 470
  • Summary 470
  • INDEX 471

You can get the book either in a local bookstore (from 17th of July onwards) – which is the preferable option as bookstores are great places to test before you buy, drink coffee, socialize with real human beings and meet your future partners (optional) – or on the web for example on Amazon (US, UK, DE).