I think I found closer to the root cause of the issue.  In
prototype.js I made a small change to getOffsetParent which fixed my
issue:
The line:
    while ((element = element.parentNode) && element != document.body)

Becomes:
    while ((element = element.parentNode) && element != document.body
&& element.style)


I'm not sure how or why, but somehow an element gets sent to this
method which does not have a style attribute.  The causes the line:
      if (Element.getStyle(element, 'position') != 'static')
To throw an exception.  I couldn't pinpoint what had changed in
prototype to cause this behavior.  We are using prototype 1.6.0.1 just
fine, but 1.6.0.3 on IE6 causes us problems here.  Does anyone else
have thoughts?

Joe


On Nov 18, 4:10 pm, Joe Athman <[EMAIL PROTECTED]> wrote:
> We are having this exact same problem, although it only seemed to pop
> up with version 1.8.2.  We have been using 1.8.1 just fine.  Does
> anyone else see this?
>
> Joe
>
> On Nov 4, 4:28 pm, Tom <[EMAIL PROTECTED]> wrote:
>
> > I have found an issue with theautocompleterin IE7 where the first
> > issued requests doesn't appear in the drop down box while the second
> > and subsequent requests do.  The first request does successfully issue
> > the ajax request and gets a response, it just isn't displayed.
>
> > This works fine in FF and Chrome.
>
> > I'm using 1.8.1 of script.aculo.us
>
> > IE 7.0.5730.13
>
> > The demo on the website forautocompleterworks fine.
>
> > Example code that doesn't work.  User enters a partial zipcode and
> > gets back a list of matching zipcodes (+ city and state)
>
> > <code>
>
> > <div>
> >   <input type="text" size="30" maxlength="10" name="test_zip"
> > id="test_zip" value="">
> >   <span id="test_zip_indicator" style="display:none">Searching...</
> > span>
> >   <div id="test_zip_choices" class="autocomplete"></div>
> > </div>
>
> > <script type="text/javascript" language="javascript">
>
> >   new Ajax.Autocompleter("test_zip",
> >                          "test_zip_choices",
> >                          "../ajax/zip_list",
> >                          {minChars: 3,
> >                           paramName: "zip",
> >                           indicator: "test_zip_indicator"});
>
> > </script>
>
> > </code>
>
> > This is a sample response back for '024'.
>
> > <code>
>
> >  <ul>
>
> >   <li>02420<span class="informal"><br/>&nbsp;&nbsp;&nbsp;LEXINGTON,
> > MA</span></li>
>
> >   <li>02421<span class="informal"><br/>&nbsp;&nbsp;&nbsp;LEXINGTON,
> > MA</span></li>
>
> >   <li>02445<span class="informal"><br/>&nbsp;&nbsp;&nbsp;BROOKLINE,
> > MA</span></li>
>
> >   <li>02446<span class="informal"><br/>&nbsp;&nbsp;&nbsp;BROOKLINE,
> > MA</span></li>
>
> >   <li>02447<span class="informal"><br/>&nbsp;&nbsp;&nbsp;BROOKLINE
> > VILLAGE, MA</span></li>
>
> >   <li>02451<span class="informal"><br/>&nbsp;&nbsp;&nbsp;WALTHAM, MA</
> > span></li>
>
> >   <li>02452<span class="informal"><br/>&nbsp;&nbsp;&nbsp;WALTHAM, MA</
> > span></li>
>
> >   <li>02453<span class="informal"><br/>&nbsp;&nbsp;&nbsp;WALTHAM, MA</
> > span></li>
>
> >   <li>02454<span class="informal"><br/>&nbsp;&nbsp;&nbsp;WALTHAM, MA</
> > span></li>
>
> >   <li>02455<span class="informal"><br/>&nbsp;&nbsp;&nbsp;NORTH
> > WALTHAM, MA</span></li>
>
> > </ul>
>
> > </code>
>
> > The problem appears to be down in control.js.  Here is my work
> > around / fix.  (478 is our internal subversion number for the original
> > control.js).
>
> > <code>
> > ===================================================================
> > --- controls.js (revision 478)
> > +++ controls.js (working copy)
> > @@ -65,11 +65,16 @@
> >        function(element, update){
> >          if(!update.style.position ||
> > update.style.position=='absolute') {
> >            update.style.position = 'absolute';
> > +          try {
> >            Position.clone(element, update, {
> >              setHeight: false,
> > -            offsetTop: element.offsetHeight
> > -          });
> > +                           offsetTop: element.offsetHeight});
> > +          } catch (exception) {
> > +            Position.clone(element, update, {
> > +                           setHeight: false,
> > +                           offsetTop: element.offsetHeight});
> >          }
> > +        }
> >          Effect.Appear(update,{duration:0.15});
> >        };
> >      this.options.onHide = this.options.onHide ||
> > </code>
>
> > The first Position.clone call fails for some reason under IE7 while
> > the second time it succeeds and the drop down complete box appears.
>
> > If there is a better place to report or post this please let me know.
>
> > Tom

--~--~---------~--~----~------------~-------~--~----~
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-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to