在 Rails 3 中渲染的部分上使用 ajax

发布于 2024-09-28 12:20:18 字数 309 浏览 1 评论 0原文

我正在使用 Rails 3 将部分(表单)加载到另一个页面中,代码如下。问题是我想使用 :remote => true 在表单上并在其上使用 ajax (验证)等。

$("#form_open").bind("ajax:complete", function(et, e){

    $("#form_area").html(e.responseText);
    $("#form_open").html("Add contact information");

});

这似乎不可能。为什么在这种情况下我不能使用ajax?

I am using Rails 3 to load a partial (form) into another page with the code below. The problem is that I want to use :remote => true on the form and use ajax upon it (validation) etc.

$("#form_open").bind("ajax:complete", function(et, e){

    $("#form_area").html(e.responseText);
    $("#form_open").html("Add contact information");

});

This does not seem to be possible. Why can't I use ajax in this situation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

背叛残局 2024-10-05 12:20:18

如果我理解这个问题,我认为您想要做的是让 ajax 调用将部分渲染到当前页面中的某个元素中,对吗?

在当前视图中:

<%= link_to 'Add Contact Info', add_contact_info_path, :remote => true %>

显然,您必须获取 add_contact_info_path 才能路由到某个操作,该操作应该呈现一些 js.erb。 js.erb 应该输出一些更新#form_area 和#form_open 的javascript。所以你可以有一个 add_contact_info.js.erb (在 jQuery 中):

$('#form_area').html("<%= escape_javascript(render('somepartial')) %>");
$('#form_open').html("Add contact information");

它将把“_somepartial.html.erb”部分渲染到任何具有 id = 'form_area' 的元素中。

If I understood the question, I think what you want to do is to have the ajax call to render a partial into some element in the current page right?

In the current view:

<%= link_to 'Add Contact Info', add_contact_info_path, :remote => true %>

Obviously you have to get add_contact_info_path to route to an action, that action should render some js.erb. That js.erb should output some javascript that updates the #form_area and #form_open. So you could have an add_contact_info.js.erb (in jQuery):

$('#form_area').html("<%= escape_javascript(render('somepartial')) %>");
$('#form_open').html("Add contact information");

That will render the "_somepartial.html.erb" partial into whatever element has the id = 'form_area'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文