我有一个表单,它被包裹在一个带有id为content
的div中:
<div id="content">
<%= render :partial => 'shared/signup' %>
</div>
shared/_signup.html.erb 包含:
<%= form_tag sign_me_up_path, :remote => true do %>
...
<% end %>
如果用户提交表单时出现错误,我会呈现 create.js.erb 文件,其中只包含以下内容:
$("#content").html("<%= escape_javascript(render :partial => 'shared/signup') %>");
使用Internet Explorer,这将简单地删除#content
中的所有内容,但在所有其他浏览器中都能很好地工作。我会感激任何帮助/见解。
$("#content").html('foo')
会发生什么?'foo' 会出现在#content
中还是 div 仍然为空白?你是否在 IE 中安装了 JavaScript 调试工具?你能够检查 AJAX 调用的响应吗?如果可以,"<%= escape_javascript(...) %>"
应该只是一个 HTML 标记字符串。你看到了什么? - Samo