ajax search feature works in FF but not IE

Hey All,

I put a simple search box on my projects/index view, via the following observe_field call:

<%= observe_field('project_search',     :url => { :controller => "projects", :action => "index_search"},     :update => "project-list",     :loading => "Element.show('search_spinner')",     :complete => "Element.hide('search_spinner')",     :frequency => 1,     :submit => 'search') -%>

The index_search action queries out the proper set of projects & renders the list to a partial, like so:

def index_search   min_query_length = 1   q = params[:project_search]

  if q.length > min_query_length then     @projects = Project.find_by_name_fragment(q) ||   else     order_by = params[:order_by] || 'statuses.name'     @projects = Project.find(:all, :order => order_by, :include => 'status')   end   respond_to do |format|     format.js do       render :partial => "project_list.html.erb"     end   end end

That partial renders a table w/one row per project. This works just fine from FireFox. But from IE I don't get my table--just a blank page. So the records that used to be in my table id="project-list" are gone, but I don't see the new ones that index_search queried out of the db. Judging from the log, IE is indeed making the request to index_search, passing the params it should, etc. The log even says, e.g.,

  Rendered projects/_project (0.01600)   Rendered projects/_project_list.html.erb (0.10900)

But IE doesn't seem to want to actually *display* these guys. FF's web development toolbar tells me I'm in "standards compliance mode" when I pull up a searched list of projects, so I believe the markup is all kosher.

What am I doing wrong?

Thanks!

-Roy

Roy Pardee Research Analyst/Programmer Group Health Center For Health Studies (Cancer Research Network) (206) 287-2078 Google Talk: rpardee

Pardee, Roy wrote:

<%= observe_field('project_search',     :url => { :controller => "projects", :action => "index_search"},     :update => "project-list", ... That partial renders a table w/one row per project. This works just fine from FireFox. But from IE I don't get my table--just a blank page. So the records that used to be in my table id="project-list" are gone, but I don't see the new ones that index_search queried out of the db. Judging from the log, IE is indeed making the request to index_search, passing the params it should, etc. The log even says, e.g., ... But IE doesn't seem to want to actually *display* these guys. FF's web development toolbar tells me I'm in "standards compliance mode" when I pull up a searched list of projects, so I believe the markup is all kosher.

:update changes the innerHTML of a node, so you will be inserting the table inside the table tag.

Wrap a div around the table and update that instead.

Fantastic! That did the trick. Thanks!