0

我有一个很长的表格,我想分成大约 5 个部分。当用户在每个部分的底部点击“下一步”时,我想使用 AJAX 加载下一个部分,直到最后一个部分将整个表单提交到数据库中。此外,如果用户点击“上一个”,我需要在字段中填充用户之前填写的内容。

到目前为止,我有这个不起作用:

用户/new.html.erb

<%= form_for(@user, :html => { :class => "form-horizontal" }, remote: true) do |f| %>
...
<%= f.submit "Next" %>

users_controller.rb

  def create
    @user = User.new(params[:user])
    if @user.save
      respond_to do |format|
        format.html { flash[:success] = "Welcome to Friends First!"
                  redirect_to @user }
        format.js
      end
    else
      render :new
    end
  end

创建.js.erb

$("#site_content").html("<%= escape_javascript(render('layouts/partial2')) %>");
4

1 回答 1

0

我会将 5 个部分中的每一个放入单独的 div(显示:无)中,并且只显示(显示:块)第一个。当用户单击“下一步”时,我会显示第二个等。最后提交到创建操作也可以通过 jquery 完成

$.ajax(
  url: '/users',
  type: 'post',
  data: $("form").serialize()
)

我希望,这会有所帮助。

于 2013-01-07T09:04:38.247 回答