Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript rails窗体上的两个保存按钮功能稍有不同_Javascript_Ruby On Rails_Ajax_Forms_Ruby On Rails 4 - Fatal编程技术网

Javascript rails窗体上的两个保存按钮功能稍有不同

Javascript rails窗体上的两个保存按钮功能稍有不同,javascript,ruby-on-rails,ajax,forms,ruby-on-rails-4,Javascript,Ruby On Rails,Ajax,Forms,Ruby On Rails 4,我创建了一个有一定长度的表单,为此我设置了一个ajax保存按钮,以便用户可以保存进度并继续编辑表单。这很有效;没有抱怨 我的问题是当用户完成编辑并希望最终提交时,我希望在表单的末尾有第二个按钮。功能上的关键区别在于,它会在保存后重定向到“表单已提交,感谢诸如此类”页面 我尝试过使用标准的提交按钮(),但这似乎不起作用;未提交任何内容,单击后在日志中也未找到任何内容。(我猜这是因为我已经为表单定义了remote) 我的表格概述如下;我已经删除了表单字段和侧边栏内容,以尽量减少混乱。最后一个提交按钮

我创建了一个有一定长度的表单,为此我设置了一个ajax保存按钮,以便用户可以保存进度并继续编辑表单。这很有效;没有抱怨

我的问题是当用户完成编辑并希望最终提交时,我希望在表单的末尾有第二个按钮。功能上的关键区别在于,它会在保存后重定向到“表单已提交,感谢诸如此类”页面

我尝试过使用标准的提交按钮(
),但这似乎不起作用;未提交任何内容,单击后在日志中也未找到任何内容。(我猜这是因为我已经为表单定义了remote)

我的表格概述如下;我已经删除了表单字段和侧边栏内容,以尽量减少混乱。最后一个提交按钮是
f按钮:如上所示提交

<div id="wrapper" class="active main-content">
  <%= simple_form_for @incorporation, :remote => true do |f| %>
    <div>
      .
      .
      .
     Form contents
      .
      .
      .
    </div>
      <!-- Sidebar -->
    <!-- Sidebar -->
    <div id="sidebar-wrapper">
      <ul id="sidebar_menu" class="sidebar-nav">
        <li class="sidebar-brand"><a id="menu-toggle" href="#">Menu<span id="main_icon" class="glyphicon glyphicon-align-justify"></span></a></li>
        .
        .
        .
        Sidebar navigation tools
        .
        .
        .
      </ul>
      <%= button_to "Save Progress", incorporation_path(@incorporation), remote: true, id:"save" %>
    </div>
    <div>
    <%= f.button :submit, "Submit", id:"incorporation_submit", class: "btn btn-primary" %>
    </div>
  <% end %>
</div>

听起来这两个按钮都应该调用控制器中的更新操作。然后,您可以检查参数“commit”,并根据需要处理您的响应。比如说,

视图中的按钮:

<%= form.submit 'Save' %>
<%= form.submit 'Update' %>

“似乎不起作用”是什么意思?请澄清您的错误或问题。@dgilperez感谢您的回复;公平的问题。我的意思是,没有提交任何内容,也没有在单击日志时在日志中找到任何内容。(我已经在上面为将来的读者做了解释)你确定没有提交任何东西吗?浏览器控制台中有错误吗?
remote:true
将需要服务器中的
.erb.js
文件来响应请求,可能缺少该文件。否则,我在最后一个
f按钮中看不到任何奇怪的东西。按钮:submit
。另一件要尝试的事情:将
按钮注释到
,然后尝试提交。@dgilperez当我将
按钮删除到
时,它实际上会在日志中生成一些内容。然而,我不能让它真正重定向(参见上面的输出)。正如您所怀疑的,我没有任何
.erb.js
应该在我的视图中吗?这并没有阻止我使用ajax进行保存,所以我可能不知道该去哪里查看。
<%= form.submit 'Save' %>
<%= form.submit 'Update' %>
if params[:commit] == 'Save'
  ... redirect somewhere ...
else
  ... do something else ...
end