以编程方式发布远程表单

时间:2013-12-26 11:31:42

标签: ruby-on-rails ajax

在我的rails应用程序中,我有以下远程表单:

 <%= form_for :domain_event, 
   url: admin_domain_domain_events_url(@domain.id), 
   method: :post, remote: true,
   html: {id: 'new_domain_event'} do |f| %>
   <%= f.text_area 'descricao', {id: 'event_description', rows:  2, cols: 40} %><br/>
   <%= f.submit 'Registrar', :class => 'btn btn-primary' %>
 <%- end -%>

工作正常。

我想以编程方式从我的代码中的另一个点发布此表单,所以我这样做了:

  $('#event_description').keydown(function (e) {
    if (e.keyCode === 13 && e.ctrlKey) {
      $('#new_domain_event')[0].submit()
        }}
  )

基本上它会在textArea中处理 CTRL + ENTER 并发布表单。

帖子发生正常,但行为与点击发布按钮时的行为不同。当我在TextArea中 ctrl + ENTER 时,它会发布,然后在浏览器中显示结果,而不是正确调用ajax回调。

以编程方式发布该帖子的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

尝试:

$('#new_domain_event').submit()

没有[0]。它适用于我。

或者:

$('#new_domain_event').trigger('submit.rails')

jquery-rails