Home Page Icon
Home Page
Table of Contents for
I. A Dojo Tutorial
Close
I. A Dojo Tutorial
by James E. Harmon
Dojo: Using the Dojo JavaScript Library to Build Ajax Applications
Copyright
Dedication
Foreword
Acknowledgments
About the Author
I. A Dojo Tutorial
1. Understanding Dojo: A Tutorial
1.1. Introduction to the Tutorial
1.1.1. Goals for this Tutorial
1.1.2. Goals for Using Dojo
1.2. A Standard HTML Data Entry Form
1.2.1. First and Last Name
1.2.2. User Name
1.2.3. Email Address
1.2.4. Address
1.2.5. State
1.2.6. City
1.2.7. Zip Code
1.2.8. Service Date
1.2.9. Comments
1.3. The Plan for Enhancing the Form
1.3.1. Including Dojo in the Form
1.3.2. Adding Client-side Validation
1.3.3. Adding Server-side Features
1.3.4. Using Additional Specialized Dojo Widgets
1.3.5. Processing the Form
1.4. Getting and Running the Source Code
1.5. Tutorial Step 1—Including Dojo
1.5.1. Download or Create the Source Files
1.5.2. Include the Code for the Dojo Toolkit
1.5.3. Include Dojo Style Sheets
1.5.4. Review All the Code Changes
1.5.5. Run the New Page
2. Using Dojo for Client-side Validation
2.1. Validating Form Fields
2.2. Tutorial Step 2—Adding Client-side Validation
2.2.1. Validate the First Name Field
2.2.2. Validating the Last Name Field
2.2.3. Validating the User Name Field
2.2.4. Validating the Email Address Field
2.2.5. Validating the Address Field
2.2.6. Validating the City Field
2.2.7. Validating the Zip Code Field
3. Using Dojo to Work with the Server
3.1. Adding Server-side Features
3.2. Tutorial Step 3a—Adding Server-side Validation
3.2.1. Assign Event Handler Function
3.2.2. Make a Call to the Server
3.2.2.1. Get the Data Entered by the User
3.2.2.2. Send the Data to the Server
3.2.2.3. Handle the Response from the Server
3.3. Tutorial Step 3b—Retrieving Data from the Server
3.3.1. Select Appropriate Widget for the City Field
3.3.2. Get the Value of State and Send to the Server
3.3.2.1. Expose the Data Source
3.3.2.2. Define the Dojo Data Store
3.3.2.3. Bind the Data Store to the Widget
4. Using Dojo Widgets
4.1. Adding Dojo Widgets to the Page
4.1.1. Dijit—The Dojo Widget Module
4.2. Tutorial Step 4—Using Dojo Widgets
4.2.1. Use the Dojo DateTextBox Widget
4.2.2. Use the Dojo Rich Text Editor Widget
5. Processing Forms with Dojo
5.1. Using Dojo to Process Forms
5.2. Tutorial Step 5—Processing the Form
5.2.1. Creating a Dojo Form Widget
5.2.2. Intercept Form Submission
5.2.3. Check That All Form Elements Are Valid
5.2.4. Submitting the Form to the Server
II. Dojo Widgets
6. Introduction to Dojo Widgets
6.1. What Are Widgets?
6.2. What Are Dojo Widgets?
6.3. Components of a Dojo Widget
6.3.1. Widget HTML
6.3.2. Widget Styles
6.3.3. JavaScript Component of a Widget
6.3.4. Dojo Widget Hierarchy
6.3.4.1. dijit._Widget
6.3.4.2. dijit._Templated
6.3.5. Visual Overview of Dojo Widgets
6.3.5.1. Form and Data Widgets
6.3.5.2. Layout Widgets
6.3.5.3. Other Specialized Widgets
6.3.6. Building Your Own Widgets
7. Dojo Form Widgets
7.1. Standard Forms and Dojo Form Widgets
7.1.1. The dijit.form._FormWidget Class
7.1.1.1. Properties in dijit.form._FormWidget
7.1.1.2. Methods in dijit.form._FormWidget
7.2. The Dojo Form Widget Explained
8. Dojo Layout Widgets
8.1. Understanding Page Layout
8.1.1. The dijit.layout._LayoutWidget Class
8.1.1.1. Properties in dijit.layout._LayoutWidget
8.1.1.2. Methods in dijit.layout._LayoutWidget
8.2. Explanation of Dojo Layout Widgets
9. Other Specialized Dojo Widgets
9.1. What Are Specialized Widgets?
9.2. Menu Widget
9.2.1. dijit.Menu
9.2.2. dijit.MenuItem
9.2.3. dijit.MenuSeparator
9.2.4. dijit.PopupMenuItem
III. Dojo in Detail
10. What Is Dojo?
10.1. History of JavaScript and AJAX
10.2. History of Dojo
10.3. Purpose of Dojo
10.4. Description of Dojo
10.5. What Problems Does Dojo Solve?
10.6. Who Should Use Dojo?
10.7. Licensing
10.8. Competitors and Alternatives
10.9. The Future of Dojo
11. Technical Description of Dojo
11.1. What You Get in the Dojo Download
11.2. Organization of Dojo Source Code
11.2.1. First-level Directories
dojo
dijit
dojox
util
11.2.2. Digging Deeper into the Dojo Directory
11.3. Dojo Modules and Features
11.3.1. Naming Conventions and Name Space
11.3.2. Dojo Base Module
11.3.2.1. The dojo.lang Module
11.3.2.2. The dojo.declare Module
11.3.2.3. The dojo.connect Module
11.3.2.4. The dojo.Deferred Module
11.3.2.5. The dojo.json Module
11.3.2.6. The dojo.array Module
11.3.2.7. The dojo.Color Module
11.3.2.8. The dojo.event Module
11.3.2.9. The dojo._base.html Module
11.3.2.10. The dojo._base.NodeList Module
11.3.2.11. The dojo._base.query Module
11.3.2.12. The dojo._base.xhr Module
11.3.2.13. The dojo._base.fx Module
11.3.3. Dojo Core Modules
11.3.3.1. Dojo Modules
11.3.3.2. Dojo Core Features
12. Objects and Classes
12.1. Objects Explained
12.1.1. Creating Objects
12.1.2. Encapsulation
12.1.3. Object Templates
12.1.4. JavaScript Prototypes
12.2. Using Dojo to Work with Objects
12.2.1. Dojo Function: dojo.declare
12.3. Defining a Class
12.3.1. Superclasses and Inheritance
12.3.2. API for dojo.declare
12.3.3. Other Dojo Functions
Dojo Function: dojo.mixin
Dojo Function: dojo.extends
12.3.4. Object Graphs and Dot Notation
Dojo Function: dojo.getObject
Dojo Function: dojo.setObject
Dojo Function: dojo.exists
Dojo Function: dojo.isObject
13. Strings and JSON
13.1. Text Strings
13.1.1. Dojo Function: dojo.string.pad
13.1.2. Usage Example for dojo.string.pad
13.1.3. Dojo Function: dojo.string.substitute
13.1.4. Usage Example for dojo.string.substitute
13.2. JSON
13.2.1. Dojo Function: dojo.toJson
13.2.2. Usage Example for dojo.toJson
13.2.3. Dojo Function: dojo.fromJson
Usage Example
14. Events and Event Handling
14.1. Description of the Event Model
14.1.1. What Are Events?
14.1.2. Additional Dojo Events
14.2. Defining and Assigning Event Handlers
14.2.1. Using dojo.connect to Assign Event Handlers
14.2.2. Usage Example for Assigning Event Handlers
14.3. Representing an Event as an Object
14.4. Using Aspect Oriented Programming in Dojo
15. Ajax Remoting
15.1. Remoting
15.2. Review of XMLHttpRequest (or XHR for Short)
15.3. The dojo.xhrGet Function
15.3.1. Parameters in Detail
15.3.1.1. handleAs Argument to XHR
15.4. dojo.xhrPost
15.4.1. Usage Example—Error Handling
15.5. Working with Forms
15.5.1. Dojo Function dojo.formToObject
Usage Example
15.5.2. Dojo Function dojo.objectToQuery
15.5.3. Dojo Function dojo.formToQuery
15.5.4. Dojo Function dojo.formToJson
15.5.5. Dojo Function dojo.queryToObject
16. Working with the DOM
16.1. Finding Needles in the DOM Haystack
16.2. Dojo Query
16.2.1. CSS Selectors
16.2.1.1. Simple Selectors
16.2.1.2. Selector Grouping
16.2.1.3. Element ID Selectors
16.2.1.4. Class Attribute Selectors
16.2.1.5. Structural Selectors
16.2.1.6. Attribute Selectors
16.2.1.7. Other Selectors
16.2.2. Using Selectors in dojo.query
16.2.3. Using DOM Elements Found by dojo.query
16.3. Animation
16.3.1. Understanding Animation
16.3.2. Dojo Animation Function
16.3.3. Standard Animation Effects
16.3.3.1. dojo.fx.slideTo
16.3.3.2. dojo.fx.wipeOut
16.3.3.3. dojo.fx.wipeIn
16.3.3.4. dojo.fadeOut
16.3.3.5. dojo.fadeIn
16.3.3.6. dojo.fx.chain
16.3.3.7. dojo.fx.combine
16.3.3.8. dojo.fx.Toggler
17. Testing and Debugging
17.1. Testing
17.1.1. Unit Testing
17.1.2. DOH—The Dojo Unit Testing Framework
17.1.2.1. Create a New Unit Test
17.1.2.2. Register Unit Test
17.1.2.3. Run Unit Test
17.1.2.4. Review Results of Test
17.1.3. Other Types of Testing
17.2. Logging
17.2.1. Basic Logging
17.2.2. Advanced Logging
17.2.2.1. Timer
17.2.2.2. Logging Message Types
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
About the Author
Next
Next Chapter
1. Understanding Dojo: A Tutorial
Part I. A Dojo Tutorial
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset