- tags, HTML menu layouts using, 168 nesting lists, 170 ‘unobtrusive’ DHTML, 75, 105 update function, clock animation example, 104 uppercasing example, usability animation and, 95 HTML widget enhancements, 154– 166 elements and, 137 remote scripting and, 197 supplying progress hints, 207 useCapture parameter, 48 316 Licensed to siowchen@darke.biz CuuDuongThanCong.com https://fb.com/tailieudientucntt user interface, drag-and-drop functions, 263 user-agent switching, 90 username checking example, 228–237 building the JavaScript, 232 screenshots, 232, 236 style sheet, 231 V valid HTML, adding new attributes and, 298 DOM representations and, 16 validators, validation of user input, 125–154 client-side validation, 127–149 integration of client- and server-side, 149–154 on form submission, 136 reasons to undertake, 126 variables accessing within passed functions, 99 element references, 18 Venkman debugger, W W3C (World Wide Web Consortium) DOM definition, 13 event handling approach, 47 event model, 44, 179 event object properties, 55 RDF syntax and, 294 XPath and, 288 tags, 260 Web services drawing data from servers, 237 exposure with XML-RPC, 277 JavaScript restrictions, 280 weblog post editor, 280–286 coordinating page and server, 283 HTML page content, 281 Weblogs (see also Blogger API) blogroll XPath example, 292–304 Webmail (see name resolution example) widget enhancements, 154–166 autocomplete text boxes, 156 calendar popups, 156 text boxes with instructions, 157 type-ahead drop-down lists, 159 window object (see also setTimeout function) open method, 63 opera property, 89 window.document object (see getElementsBy* methods) window.event object cancelBubble property, 56 checking for existence of, 56 IE event handling and, 53 properties compared with W3C, 55 returnValue property, 57 window.location object, replace method, 206 window.navigator object, browser sniffing, 76 window.parent object and s, 201 wiping effects, multi-level menu project, 185 wrapper objects (see also library objects) XHMHTTP implementations, 227 wrapping words within boxes, 260 Wubben Mark, 182 X XML document access, 287, 289 XML namespaces, 296 XMLHTTP, 225–228 browser support, 226 drag-and-drop file manager use, 259 317 Licensed to siowchen@darke.biz CuuDuongThanCong.com https://fb.com/tailieudientucntt Index Sarissa library, 227 username checking example, 228– 237 XMLHttpRequest class, 226–227, 261 XML-RPC, 277–280 calling APIs, 279 weblog post editor, 280–286 XPath, 287–304 adding XML namespaces, 296 applying to XML documents, 290 blogroll example using, 292–304 constructing simple expressions, 295 learning resources on, 292 XPCOM components, 237 Z Zakas, Nicholas, 156 zero values, JavaScript interpretation, 80 zero-width spaces, 260 z-index property CSS2 stacking problem, 110–111 draggable elements, 275 proxy elements for drop targets, 267, 269 Zvon XPath tutorial, 292 318 Licensed to siowchen@darke.biz CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Control Commands 261 Implementing Drag-and-Drop 263 Expanding and Collapsing Lists 275 Using XML-RPC 277 Calling XML-RPC APIs 279 Example: Weblog Post Editor... reasonably-sized Website will contain at least a few forms to collect user input Scripting can provide some serious improvements to these forms: the validation of user input, ease-of-use for users,... that have non-trivial user-input features DHTML means manipulating the Document Object Model of an HTML document, fiddling with CSS directives in style information, and using client-side JavaScript