:远程=>真/数据远程表单上通过AJAX加载(:remote => true/data-rem

2019-08-02 10:09发布

在我的Rails应用程序,我有一个使用jQuery负载方法通过Ajax加载的形式。

function load_sales_form(product_id) {
    $("#sales_form").load("<%= url_for(:action => :show_sales_form) %>"/ + product_id);
}

所加载的形式具有与所述一个的form_for标签:远程=> true选项和它的数据的远程=“true”属性添加到形式。

但形式不是当用户点击提交按钮标签使用Ajax提交。 如果窗体在标准,非Ajax方式加载,但它的形式是通过AJAX加载后的文件已经准备好它正常工作,是用ajax不提交,其提交的标准形式。

从到目前为止我的研究,出现这种情况是因为rails.js文件(其中包含允许通过AJAX提交数据的远程形式的东西)不适用它的功能的HTML通过AJAX加载的内容。

是否有可能迫使rails.js文件来应用它的内容通过Ajax加载的功能?

Answer 1:

同样的情况在这里。 我找到了解决办法。 不是动态加载,但不正确的触发submit事件是在我的情况的原因。

我有一个引导模式data-targethref设置属性。 这会导致内的内容.modal-body经由AJAX从指定地址中加载href

模态被预配有保存按钮,这称为提交这样的(加载形式之外)。

$modal.find("form.loaded_form").get(0).submit(); // INCORRECT

前者只执行原提交,但是:

$modal.find("form.loaded_form").trigger('submit'); // CORRECT

是卓有成效的。



文章来源: :remote => true/data-remote on a form loaded via ajax