Day 1
Topic 1: Basic Language Elements
|
|
Key points
HTML and JavaScript
Why use JavaScript?
JavaScript Demo
Basic syntax
Exercise: Basic syntax
Basic syntax summary
Simple dialog boxes
If structure
Exercise: If structure at Console
Boolean operators
Exercise: Boolean operators at Console
|
Topic 2: Object Hierarchy |
|
Key points
Browser object model
Object Browser Subform
DOM vis a vis DOM
DOM to DOM limitations
Other objects
|
Topic 3: Event Handlers |
|
Key points
Event handler basics
Exercise: Investigate event handlers
|
Topic 4: Functions |
|
Key points
Function syntax
Returning a value from a function
Exercise: Function at the Console
Calling functions from a document
Formatting JavaScript on a page
Commented code
Multiple conditions
Exercise: Function on a page
|
Topic 5: Using Domino Designer |
|
Key points
HTML page structure
Getting JavaScript into the <HEAD> tag
Getting JavaScript onto the page
Web DOM/Notes DOM Reference
JavaScript libraries
|
Topic 6: Accessing Objects |
|
Key points
Accessing JavaScript objects
Exercise: Accessing Field object
String object
String object parsing methods
Regular expressions
Number conversion
|
Topic 7: Looping Structures |
|
Key points
While structure
For structure
Breaking out of a loop
Exercise: For and while structures
|
Topic 8: Arrays |
|
Key points
Arrays
How to declare an array
Using array values
Out-of-bound errors
Exercise: URL commands and arrays
|
Topic 9: Field Access |
|
Key points
Text Field access
With statement
JavaScript access to computed/hidden Fields in Edit mode
JavaScript access to computed/hidden Fields in Read mode
Parsing multi-value Field into an array
<SELECT> Field access
Radio button
Checkbox
Exercise: Accessing Fields
Exercise: Searching from a Page
|
Topic 10: Field Event Handlers |
|
Key points
Field-level help in the onFocus event
Link event handlers
Field translation
Input Validation event
Validation via Field event handlers
Alert() and Focus() interactions
Multiple tests for validation
Generic function to test for empty Field
Select Field validation
Radio and Checkbox validation
String format validation
Date validation via JavaScript
Date validation via @Functions
Field computation
Exercise: Recalc using JavaScript
|
Topic 11: Form Validation |
|
Key points
Field-level event handler caveats
onSubmit event handler
Keeping the <FORM> tag compact
Conditionally call form.submit()
Exercise: Form validation
|
Day 2
Topic 12: Window Object |
|
Key points
Open window using HTML
Open window using JavaScript
Window features
Focus on window
Set window status
Print window
Write to window
Close window
Window opener property
Exercise: Help window
Custom dialog boxes
Simulating @Dialogbox
Simulating @Picklist
Address book lookup dialogbox
|
Topic 13: Frame Object |
|
Key points
Frames are like windows
Frame basics
Example frameset
Targeting frame content using HTML
Dynamic frames via JavaScript
Exercise: Context-sensitive help
|
Topic 14: Location Object |
|
Key points
Location is where you are
Location properties
Location object versus Path_info CGI variable
Working with the href property
Setting the location
Replacing the location
Reloading the page
Prevent from being framed
Frame your pages
"Menu Options"
Menu Option 1: Select with button
Menu Option 2: Select w/o button
Exercise: Image viewer window
|
Topic 15: Cookies |
|
Key points
Three mechanisms
What is a cookie?
Privacy issues
Set cookie using META tag
Read cookie using CGI variable
Weaknesses of HTTP/HTML methods
Set cookie using JavaScript
Example: Set cookie
Get cookie using JavaScript
Parse cookie values
Delete cookie
Exercise: Default Field values using Cookie
|
Topic 16: Browser Compatibility |
|
Key points
JavaScript language standards
Object model standards
Hiding JavaScript from non-compliant browsers
Detecting browser using CGI variable
Detecting browser using @BrowserInfo
Detecting browser using JavaScript
The problem with browser detection of JavaScript
JavaScript version detection
Feature capability detection
Code strategies
|
Topic 17: Debugging and Error Handling |
|
Key points
Debugging
Microsoft Script Debugger
Netscape JavaScript Debugger
Simple debugging techniques
Generic error trapping
Testing data type
Testing for NaN
Testing for "null" and "undefined" and ""
"Object is not defined" errors
Eliminating "Object is not defined" errors
|
Topic 18: Language and Data Integration |
|
Key points
Design goals
Basic flow
Splash Page
SiteRegistration Form
SiteRegistration Submit process
SiteRegistration Webquerysave Agent
Forms versus Pages
MainForm Form
Computed Subform formula on MainForm
Links from the Home Page
Adding new pages
Conclusion
|
Topic 19: JavaScript to Java via LiveConnect |
|
Key points
Embed simple JavaBean
Java applet parameters
Dynamic parameters
LiveConnect
Investigating the applet object
lotus.domino.AppletBase applet
How the lotus.domino.AppletBase applet works
Domino Server settings
Client settings
How to use the lotus.domino.AppletBase applet
Accessing Domino objects via JavaScript
Java Console
Common errors with lotus.domino.AppletBase
|
Topic 20: JavaScript Resources |
|
Key points
JavaScript Reference
JScript Reference
ECMAScript-262 Reference
Internet Explorer Object Hierarchy
JavaScript Code Examples
|