Ajax fails in IE8

hi guys,

  I am testing a new optional funtionality in my site with IE 8 after
success with Firefox 3.6.3, chrome and safari.

The new functionality basically sees a "sub category" drop down list
get generated in my form as soon as a "Category" value is selected
from the "Category" drop down list.

I have been using the standard rails api such as observe_field, and
collective_select.

Anyway, when I loaded up the webpage on IE8 and selected a value from
the "Category" drop down list, the form fails to show the subcategory
drop down list.

Ajax doesn't seem to be working here in IE8.
I know that rails uses prototype.
I have read that prototype 1.6RC2 is fully compatible with IE 8
(http://www.prototypejs.org/2009/3/27/prototype-1-6-1-rc2-ie8-
compatibility-element-storage-and-bug-fixes) .
I downloaded it and reloaded the webpage . No difference.

1) has anyone managed to get around the problem whereby ajax use in
IE8 fails?
2) has anyone got an alternative such as using observe_field/
observe_form and calling the whole url (appended with the selected
values at the time to load the other dynamic values (in this case,
category id which is appended to the url which would then load the
whole page with a bunch of sub category values ) )?

thanks

hi guys,

I am testing a new optional funtionality in my site with IE 8 after
success with Firefox 3.6.3, chrome and safari.

The new functionality basically sees a "sub category" drop down list
get generated in my form as soon as a "Category" value is selected
from the "Category" drop down list.

I have been using the standard rails api such as observe_field, and
collective_select.

Anyway, when I loaded up the webpage on IE8 and selected a value from
the "Category" drop down list, the form fails to show the subcategory
drop down list.

Ajax doesn't seem to be working here in IE8.

Just a thought, have you checked that your html is valid by pasting
the complete page source into the w3c html validator? Differences
between browsers is often down to invalid html.

Colin

Hi, Colin,

  Every page I make has to pass by W3C's validation.

It's a pity why IE8 doesn't really support prototype and rails' JS
helpers are made out of prototype...

Any more ideas guys?

Gordon

Hi,

As I have to guess your code, I can just share my experience with Ajax
and IE.

I recently had a similar problem with the Ajax :update=>'<#id>' call.
I updated a <p> element which went perfect in Firefox, but not in IE.
After changing the <p> element into a <div> my code fired in IE as
well. So, you might check the HTML you're using.

Jan

ok i will look into it soon and report back. Thank you!

Anyone else? I m sure you guys use Ajax in your rails apps.

hi there, Javinto,

I checked and my code swapped some

for

. Tested and still no good with IE8.

diff --git a/app/views/parts/_form.html.erb b/app/views/parts/_form.html.erb
index c5cd780…eae7407 100644

— a/app/views/parts/_form.html.erb
+++ b/app/views/parts/_form.html.erb
@@ -16,13 +16,13 @@
<%= render :partial => ‘sub_categories/select’, :locals => { :part => @part } %>

  • <%= observe_field :part_category_id, :url => { :action => :get_subcategories }, :update => :subcategory_div, :with => 'category'

    %>

    <%= image_tag('required_attribute.gif', :alt => "image for required attribute") %>

diff --git a/app/views/parts/get_subcategories.erb b/app/views/parts/get_subcategories.erb

index 9737bad…498001d 100644
— a/app/views/parts/get_subcategories.erb
+++ b/app/views/parts/get_subcategories.erb
<% if (!@sub_categories.nil? and @sub_categories.length > 0) %>
-


+

 Sub category:<br />
     <%= collection_select(
         :part,
         {:include_blank => true}
     )
     %>

-


+

<% end %>

Any ideas?

hi, guys,

I solved the problem.

SOLUTION: Do not explicitly include references to the prototype js framework.

WHAT I HAVE IN MY SOURCE CODE (ie. “app/views/layouts/application.html.erb”):