> Always makes me eager to jump in and spend my time helping. ;-) Nice. Just tossing in: Alternately, the <script> block that has the "active" part can be placed at the end of the document, so the DOM elements are loaded by the time the browser reaches that <script> tag. You knew that, but OP maybe didn't. -joe t.
On Dec 11, 11:02 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote: > Hi, > > > I have not really tried to debug this. > > Always makes me eager to jump in and spend my time helping. ;-) > > But the error is obvious enough in this case: You're trying to access > the DOM from inline script, which won't work; the DOM doesn't exist > when that script is executed. You need to use the window.load or > dom:loaded event. > > document.observe('dom:loaded', function() { > // Create the autocompleter > > }); > > HTH, > -- > T.J. Crowder > Independent Software Consultant > tj / crowder software / comwww.crowdersoftware.com > > On Dec 11, 3:10 pm, mjk <mj.kelle...@gmail.com> wrote: > > > The error must be coming from another method that retrieves > > 'element'. I have not really tried to debug this. Wondering if > > anyone else has had this problem, and how they remedied it. > > > The HTML > > > <html> > > <head> > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> > > <script type="text/javascript" src="http://localhost:4402/author/js/ > > prototype.js"></script> > > <script type="text/javascript" src="http://localhost:4402/author/js/ > > effects.js"></script> > > <script type="text/javascript" src="http://localhost:4402/author/js/ > > controls.js"></script> > > <style type="text/css"> > > div.autocomplete { > > position:absolute; > > width:250px; > > background-color:white; > > border:1px solid #888; > > margin:0; > > padding:0;} > > > div.autocomplete ul { > > list-style-type:none; > > margin:0; > > padding:0;} > > > div.autocomplete ul li.selected { background-color: #ffb;} > > div.autocomplete ul li { > > list-style-type:none; > > display:block; > > margin:0; > > padding:2px; > > height:32px; > > cursor:pointer;} > > > </style> > > </head> > > <body> > > <label for="input">Autotext:</label> > > <input type="text" id="input" name="input" size="15" /> > > <div id="results" class="autocomplete" style="display: none; > > position:relative;"></div> > > <script type="text/javascript"> > > var txtid = 'input'; > > var divid = 'results'; > > var server = 'http://localhost:8080/ewcmtestbed/autocomplete'; > > new Ajax.Autocompleter(txtid, divid, server, { tokens: ','}); > > </script> > > </body> > > </html> > > > The error: > > In prototype.js > > element is null > > > The method: > > cleanWhitespace: function(element) { > > element = $(element); > > var node = element.firstChild; > > while (node) { > > var nextNode = node.nextSibling; > > if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) > > element.removeChild(node); > > node = nextNode; > > } > > return element; > > }, > > -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptacul...@googlegroups.com. To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.