【问题标题】:Rails 3: submit Remote form via jQuery - prevent page from reloadingRails 3:通过 jQuery 提交远程表单 - 防止页面重新加载
【发布时间】:2012-02-20 02:05:46
【问题描述】:

我的 Rails 表单如下所示:

  - form_tag rel_references, :remote => true, :id=>"references_form", :method => 'get' do               
    = text_field_tag :rel_id, params[:rel_id], :id=>"reference_form_rel_id"
    = submit_tag "Get references", :id => "referencesubmit"

我需要使用 jQuery 基于 DOM 元素的 HTML 动态填充文本字段 #reference_form_rel_id,然后从同一个 jQuery 函数中(远程)提交此表单。所以这就是我正在做的事情:

  $(".classname").live('click',function(){  
     var relationship_id = $('#id_store').html().trim();
     $('#reference_form_rel_id').val(relationship_id);  // populate the text field
     $('#references_form').submit();       // submit the form

});

现在,表单确实被提交了,但是,它不是远程提交的,并且页面会重新加载,从而违背了 :remote => true 的目的。请指导我如何通过 jQuery 正确提交 Rails 远程表单。 谢谢!

【问题讨论】:

    标签: jquery ruby-on-rails ajax ruby-on-rails-3 unobtrusive-javascript


    【解决方案1】:

    你可以试试

    $('#referencesubmit').trigger('click')
    

    【讨论】:

    • 问题依然存在。这会导致表单重新加载。
    • 抱歉试试这个 $('#referencesubmit').trigger('click')
    • $('#referencesubmit').trigger('click') 做到了。编辑答案以反映这一点。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2018-01-19
    • 2015-01-17
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多