【问题标题】:Why do I lose trace of the submit button when I post a form with a file_field当我发布带有 file_field 的表单时,为什么我会丢失提交按钮的踪迹
【发布时间】:2014-02-25 09:46:00
【问题描述】:

我的 rails 应用程序中有一个表单,它会将(发票)编号、金额、日期和文件发布到控制器。我有一个带有name 属性的submit 按钮,比如说"submit"

如果我发布没有file_field 的表单,控制器中的参数包含一个键"submit",但是当我包含file_field 时它会消失。

我不会以任何方式拦截表单提交。这里会发生什么?

编辑 - 表单基本上是这样的:

<%= form_tag({:controller => 'controller', :action => :update}, {:remote => true, :multipart => true}) do |form| %>

    <%= form.text_field(:date) %>
    <%= form.text_field(:amount) %>
    <%= form.text_field(:number) %>
    <%= form.file_field(:file_upload) %>

    <%= form.submit 'Save', :name => "submit" %>
<% end %>

【问题讨论】:

  • 请分享表单代码。
  • 表单是否设置为多部分?
  • 表单设置为多部分,是的。

标签: ruby-on-rails ruby forms post


【解决方案1】:

想通了。碰巧我有代码可以在发布期间禁用提交按钮。当 file_field 包含在 post 参数中时,表单处理需要更长的时间,并且当表单实际处理 submit 按钮时,它已被禁用。我必须为此找到不同的解决方案。

$body.on('submit', 'form[data-remote="true"] ', function() {
    var $railsUjsForm = $(this);
    $railsUjsForm.find('input[type="submit"]').prop('disabled', true);
});

【讨论】:

    猜你喜欢
    • 2010-09-28
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多