首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RJS错误:[object Error] in IE 8 on RJS response from rails/scriptaculous

RJS错误:[object Error] in IE 8 on RJS response from rails/scriptaculous
EN

Stack Overflow用户
提问于 2011-07-14 17:15:03
回答 2查看 782关注 0票数 1

我有一个控制器,它有:

代码语言:javascript
复制
render :update do |page|
  page.replace_html 'some_id', :partial => 'some_partial'
end

它在firefox中运行良好,但IE抛出"RJS错误:对象错误“

查看生成的javascript,它看起来如下所示:

代码语言:javascript
复制
Element.update("some_id", "\u003Cselect id=\"some_other_id\" name=\"some_name[]\"\u003E\u003Coption value=\"-1\"\u003E\u0026lt; Default option \u0026gt;\u003C/option\u003E\n\u003Coption value=\"1\" selected=\"selected\"\u003E Some option \u003C/option\u003E\u003C/select\u003E\n");

但在IE中,即使尝试使用Element.update("some_id", "hello world")也会失败。

不过,用空字符串替换是可行的。

查看Element.update函数:

代码语言:javascript
复制
update: function(element, content) {
  element = $(element);
  if (content && content.toElement) content = content.toElement();
  if (Object.isElement(content)) return element.update().insert(content);
  content = Object.toHTML(content);
  element.innerHTML = content.stripScripts();
  content.evalScripts.bind(content).defer();
  return element;
}

看起来element.innerHTML = content.stripScripts();造成了一些麻烦,抛出了一个“未知的运行时错误”,除了空字符串之外,不管我提供什么。

我知道IE在尝试将块级元素放入内联元素时会抱怨,但事实并非如此。

我使用的是rails 2.3.11,脚本为1.8.1,原型为1.6.0.3

我完全迷惑了--欢迎任何提示。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-15 04:02:23

尝试使用page.replace而不是page.replace_html。看起来您可能正在用另一个选择列表更新选择列表选项。另一种方法是使用options_for_select来呈现选项标记来替换选项。

票数 1
EN

Stack Overflow用户

发布于 2011-09-15 22:20:32

"some_id“是什么元素?我试图更新一个"p“元素的内容,但它就是不能工作。我把"p“换成了"div”,它工作得很好。所有其他浏览器,如IE9、ff、chrome等都可以使用,但IE8及以下版本的浏览器不能使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6690943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档