【问题标题】:How to auto submit a Rails form on a page visit如何在页面访问时自动提交 Rails 表单
【发布时间】:2013-12-31 14:40:29
【问题描述】:

我有一个表单,我希望在访问页面时自动提交,可能是通过 jquery 或任何其他方式,原因是我希望触发创建操作,以便我可以将其用作表单的表格是

class CreateWhatsups < ActiveRecord::Migration
  def change
    create_table :whatsups do |t|
      t.string :details, :default => "visited"
      t.integer :user_id


      t.timestamps
    end
  end
end

我的表格包括

<%= form_for(@whatsup) do |f| %>
  <div class="field">
    <%= f.label :details %><br>
    <%= f.text_field :details %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

当我将它放在我的rails应用程序中的任何位置而不点击提交按钮时,我如何让这个表单自动提交

【问题讨论】:

    标签: javascript ruby-on-rails forms


    【解决方案1】:

    使用 JQuery 的 document.ready 事件 例如

    $(document).ready(function(){
    $("formname").submit();
    });
    

    【讨论】:

    • $("formname") 是表单的类还是 id?
    • @IbrahimSediqAbubakar 这取决于你。你可以使用任何你想要的东西:$("#this_is_an_id")$(".this_is_a_class")。在 id 前面使用 #,在类前面使用 .
    • 非常感谢,它工作得很好,非常感谢....还有一件事是我想要在表单自动提交后,我不应该被重定向,而是留在同一页面上
    【解决方案2】:

    要发送表单并保持在同一页面上,您需要发送 ajax 请求:

    $(document).ready(function(){
        $.ajax({
          url: $('#formid').attr('action'),
          success: function(data){
            alert(data);
          },
          error: function(){
            alert('failure');
          }
        });
    });
    

    Demo here

    我希望这会有所帮助;)

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      相关资源
      最近更新 更多