2

在 Rails 应用程序中使用 Lazybox 通过 Ajax 加载表单。new.js.erb 看起来像这样:

$.lazybox('<%=j render "form" %>', {closeImg: true, speed: 100, klass: 'po_lazybox' });

在 _form.html.erb 中,表单正在生成一个典型的:

<%= form_for(@invoice, :remote => @is_remote) do |f| %>

FF、Safari、Chrome 都可以,但 IE8 不会在惰性框中显示表单。它似乎与隐藏的“utf8”字段有关,因为如果我粘贴到呈现表单的 HTML 中,减去该字段,一切正常。

IE8 中的 JS 控制台没有报错,只是静静地显示一个空白的lazybox。IE8 会将表单显示为纯 html 页面,即如果我转到 /invoices/new,一切都很好。

有什么想法吗?谢谢。

4

1 回答 1

0

这不是表单域。AJAX 响应的 DOM 内容以空行开头,IE8 有这个问题当我复制 HTML 来修改它时,我必须删除空行。

我觉得自己很愚蠢,但也对 IE 很生气。我认为 Ultrix 的空白行窒息已经过时了。

于 2012-10-25T15:04:20.430 回答