我正在使用Rails UJS。我已经设置了一个表单,可以进行远程提交,如下:
<form accept-charset="UTF-8" action="/subscriptions" class="new_subscription form-horizontal" id="new_subscription" data-remote="true" data-type="json" method="POST">
我正在尝试找到一种从JavaScript函数中提交此表格的方法。 我尝试过:
var form$ = $("#new_subscription");
form$.get(0).submit();
但是这样做的问题是它会在没有远程数据的情况下提交表单,它会向服务器发送一个请求并刷新页面。有什么想法是怎么回事吗?有没有不同的方法可以提交一个远程表单?
谢谢
Rails
对象,你需要先执行import Rails from '@rails/ujs'; Rails.start()
。请参考https://dev59.com/TlMI5IYBdhLWcg3wfbbN - Paul OdeonRails.fire(nativeFormEl, 'ajax:success')
-- 虽然这确实会触发ajax:success
事件,但它传递了 Rails UJS 使用的 错误/旧 类型的CustomEvent
。新的CustomEvent
类型在键event.details
下有一个 3 项数组,而旧格式则没有。这很令人困惑,我不得不编写一个愚蠢的 if-then 语句来解决我的 Ajax 事件监听器中的代码处理问题。 - FireDragon