Ruby on rails 3 :remote=>;通过ajax加载的表单上的true/data remote

Ruby on rails 3 :remote=>;通过ajax加载的表单上的true/data remote,ruby-on-rails-3,jquery,unobtrusive-javascript,Ruby On Rails 3,Jquery,Unobtrusive Javascript,在我的Rails应用程序中,我有一个使用jQuery加载方法通过Ajax加载的表单 function load_sales_form(product_id) { $("#sales_form").load("<%= url_for(:action => :show_sales_form) %>"/ + product_id); } 功能加载\销售\表单(产品\ id){ $(“#销售表格”).load(“:show#u sales_表格)%>”/+产品id); }

在我的Rails应用程序中,我有一个使用jQuery加载方法通过Ajax加载的表单

function load_sales_form(product_id) {
    $("#sales_form").load("<%= url_for(:action => :show_sales_form) %>"/ + product_id);
}
功能加载\销售\表单(产品\ id){
$(“#销售表格”).load(“:show#u sales_表格)%>”/+产品id);
}
加载的表单有一个带有:remote=>true选项的form_for标记,它确实向表单添加了data remote=“true”属性

但是当用户单击submit标记按钮时,表单不会使用Ajax提交。如果表单是以标准的、非ajax的方式加载的,那么它可以正常工作,但是如果表单是在文档准备好后通过ajax加载的,那么它不是使用ajax提交的,而是作为标准表单提交的

从我到目前为止所研究的内容来看,之所以会出现这种情况,是因为rails.js文件(其中包含允许通过ajax提交数据远程表单的内容)没有将其功能应用于通过ajax加载的html内容


是否可以强制rails.js文件将其功能应用于通过Ajax加载的内容?

这里的情况也一样。我找到了解决办法。 不是动态加载,而是
submit
事件的错误触发是我的原因

我有一个引导模式,设置了
数据目标
href
属性。这会导致
.modal body
中的内容通过AJAX从
href
中指定的地址加载

模态预先配备了save按钮(在加载的表单之外),它这样调用submit

$modal.find("form.loaded_form").get(0).submit(); // INCORRECT
前者仅执行原始提交,但:

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

你似乎在url\u后面缺少一个括号,用于侧注:调试javascript时,请始终打开javascript控制台。如果有些东西不起作用,第一点就是找出错误。使用AJAX时,请确保有类似Chrome network monitor的东西随时可以看到xhr请求和错误。Zenph:不确定这在这种情况下对我有何帮助,因为没有javascript我们的内部服务器错误。你有没有发现这一点?我也看到了同样的情况,通过ajax调用加载的内容无法被UJS识别。UJS的东西已经在页面加载时被“解雇”了,这是有道理的,但我找不到任何地方有人谈论“重新解雇”他们是为了一部分。不幸的是,没有。我不得不改变我希望在我的应用程序中使用Ajax的方式。