I have found an issue with the autocompleter in 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 for autocompleter works 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