We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.0, released 5 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
15
#35943: The book's comments on installation of dojo are a bit out-of-sync with current (1.2.2) release. Turns out that default distro omits the tests ...more...
P1.0
16-Nov-08
15
#35944: I didn't see info on where to install the book's sample code, and it turns out to matter. Basically, the book's tree of source code assumes it...more...
P1.0
17-Nov-08
26
#34112: When the email input is introduced, it makes it seem as if it is an old friend that was already there. But none of the html code mentions it ...more...
P1.0
18-Aug-08
28
#35297: attribute 'missingMessage' is not used by any form js code, only 'invalidMessage' and 'rangeMessage'. (It's defined in the nls files, but not ...more...
P1.0
16-Oct-08
29
#32340: <div class="formContainer" dojoType="dijit.layout.TabContainer" style="width:600px;height:600px"> styles for width and height are already...more...
B5.0
10-Jun-08
35
#34333: The last name input field erroneously assumes that words in someones last name should be propercased. However that is not true for many names ...more...
P1.0
03-Sep-08
37
#33215: Last code snippet on the page: variable 'result' is not defined, and then the subsequent paragraph (p38) refers to oneResult, which is also no...more...
P1.0
26-Jul-08
38

#32561: top p. 38 'oneResult' does not seem to match up with preceding bottom page 37:
dojo.string.substitute("<a href='${url}'>${title}</a>", result);
--celeste morte

P1.0
01-Jul-08
44
#35466: The last for loop on that page says: listItem.innerHTML = dojo.string.substitute("<a href='${url}'>${title}</a>", result); I believe "res...more...
P1.0
26-Oct-08
58
#35430: The page number in the case is actually a bit irrelevant, the problem resides in the /code/xhr_techniques/yahoo_remote_script.html file. Line ...more...
P1.0
24-Oct-08
72

#34344: 4th line from bottom: remove '</script>' as the previous script tag closes with /> --Anthon van der Neut

P1.0
05-Sep-08
78

#32382: In line

<script type="text/javascript" src="/dojoroot/dojo/dojo.js" /></script>

remove the redundant end tag.--Thilo Goetz

B5.0
13-Jun-08
78
#33437: In the "dojo.hitch is important" sidebar, it says "JavaScript functions are not bound to the scope in which they're defined." But this is un...more...
P1.0
01-Aug-08
89
#33436: "dojo.isString(test) ... either a string literal or a string variable." But variables don't have types, so there is no such thing as a string...more...
P1.0
01-Aug-08
98
#34119: This isn't really a typo -- it's a production error that should have been caught by the Q/A process. In figure 6.2 there are several incomp...more...
P1.0
19-Aug-08
98

#35212: In description of 'keyChar', shouldn't property-type be 'string'? And elsewhere, the 'boolen's s.b. 'boolean'--Tom Shinnick

P1.0
13-Oct-08
103

#35210: at end of first paragraph, 'addEventLister' should be 'addEventListener'--Tom Shinnick

P1.0
13-Oct-08
106

#32469: eventobj.stopPropagation(); should be eventObj.stopPropagation();
in all examples.
. --Michael Jaekel

P1.0
25-Jun-08
109
#34537: The 14 line of HTML code in this page says:"Events that can bubble always bubble; events never propagate." I think the "events never never pr...more...
P1.0
18-Sep-08
147

#35209: For selector "s1 s2", should be 'descendent' not 'decedent'--Tom Shinnick

P1.0
13-Oct-08
176
#35978: I am working through the exemplified dojo.xhr calls and the book states there is a Ruby WEBrick in the code download. I can find no such "fic...more...
P1.0
19-Nov-08
187

#34346: In the description of figure 8.3: 'comma-filtered' should read 'comment-filtered'--Anthon van der Neut

P1.0
05-Sep-08
191

#33356: In the code snippet, the parameter 'synch: true' is given. According to all the text preceding, this should be 'sync: true'.--Michael Bannister

P1.0
29-Jul-08
197
#33355: The paragraph beginning 'When this code is evaluated...' does not match what the code in function example15() (on p195) actually does. There ...more...
P1.0
29-Jul-08
207

#33360: In the code for function example21(), the key 'synch' in the args for dojo.xhrPut() should be 'sync'.--Michael Bannister

P1.0
29-Jul-08
214
#35447: This errata concerns the "Simple Single-Page Web App" found on page 214 to 219. The code works very well. However, when implementing this it ...more...
P1.0
25-Oct-08
224
#35940: Last bullet point on page: "This class is not drawn in the diagram because dojo.declare does implement multiple inheritance." Probably intend...more...
P1.0
16-Nov-08
269
#32552: Both versions of genetox_def.html on this page seem identical but the text would indicate that the second version should have something additi...more...
P1.0
30-Jun-08
269
#32558: The filtering select example can't work as shown. With the searchAttr="docno", it recognizes only the document numbers as input (and only aut...more...
P1.0
30-Jun-08
328

#35946: <label for="newUrl">Title:</label>
... should be...
<label for="newTitle">Title:</label>--Graham Wideman

P1.0
17-Nov-08
398

#34633: in the code sample, there's a closing tag (</script>)
without an opening <script> tag or body. Looks like you're missing a line or two.--Keith

P1.0
25-Sep-08
414

#34345: 2nd bullet item on the page: 'pattern specifies ...' should be
'datePattern specifies ...'. In the example on page 415 this is correct.--Anthon van der Neut

P1.0
05-Sep-08
482

#33170: The web address for Vista Information Technologies in the footnote should be www.vista-info-tech.com.--Rawld Gill

P1.0
24-Jul-08
488
#35295: For example, the loader will try to load /dojoroot obe/main.js when the module ***obe.man*** is dojo.required. -should read- For example...more...
P1.0
16-Oct-08
490

#33013: At the end of the page (5 lines from the end) it mentions the "obe.man" module and should be "obe.main"--Emilio Suarez

P1.0
10-Jul-08
491
#35927: Error when using dijit.layout.BorderContainer and dijit.layout.ContentPane and dojo version 1.2.1. In the code it says: Line 46: var appCo...more...
P1.0
16-Nov-08
493
#33011: At the end of the section 18.2 (Step 1), the instructions say to start the local HTTP server and navigate to obe.htm, but it should say main.h...more...
P1.0
10-Jul-08