En una aplicación rails estoy agregando filas (<tr>) a una tabla (<table>), vía un rjs:

RUBY:
  1. page.insert_html :bottom, "my_table",
  2.                  :partial => "my_row",
  3.                  :collection => @entries,
  4.                  :locals => { :user => @user, :foods => @foods }

La aplicación funciona bien en Firefox y Safari, pero en IE obtengo el error: RJS Error [object error]

Resulta que para variar es un bug en IE, y que se resuelve simplemente usando un <tbody>, es decir las filas se agregan al tbody y no a la tabla.

El html de mi tabla quedaría algo como:

HTML:
  1. <table id="my_table">
  2.   ...
  3.   <tbody id="my_tbody">
  4.   ...

Y el rjs es:

RUBY:
  1. page.insert_html :bottom, "my_tbody",
  2.                  :partial => "my_row",
  3.                  :collection => @entries,
  4.                  :locals => { :user => @user, :foods => @foods }

Si quieren más detalle revisen: IE fails to insert a table row using prototype


2 Respuestas a “RJS Error [object error] en IE al agregar filas a una tabla usando prototype”

  1. 1 Robert

    Ohh dios será esta la primera vez que no digo algo malo de IE, bueno aunque parece bug, realmente el spec HTML 4.x dice que la tabla DEBE tener tbody (http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1) si no lo usas estas trabajando una tabla HTML 3, que por suerte trabaja bien en otros browsers, Que DOCTYPE tienen tus paginas web? Stritct o Transitional?

  2. 2 Edgar González

    En efecto hay que usar más los thead y tbody, pero es que inclusive el DOCTYPE es "XHTML 1.0 Transitional"


RSS feeds

Suscríbete a nuestros RSS Feeds