The table of contents of “Beginning JavaScript with DOM scripting and Ajax”
Tuesday, June 20th, 2006 at 11:56 amSome 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
 
- Data, Data Types, and Data Operators  18
- 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
 
- JavaScript As the Behavior Layer  63
- 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
 
- Changing the Presentation Layer via JavaScript  123
- 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
 
- Images and JavaScript  183
- 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
 
- Navigation and JavaScript  241
- 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
 
- Common JavaScript Mistakes  451
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).