在我的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回调。
以编程方式发布该帖子的正确方法是什么?
答案 0 :(得分:0)
尝试:
$('#new_domain_event').submit()
没有[0]。它适用于我。
或者:
$('#new_domain_event').trigger('submit.rails')