在我的 Rails 应用程序中,我有一个使用 jQuery 加载方法通过 Ajax 加载的表单。
function load_sales_form(product_id) {
$("#sales_form").load("<%= url_for(:action => :show_sales_form) %>"/ + product_id);
}
加载的表单有一个 form_for 标记,其中包含:远程=>真选项,它确实添加了数据远程=“真”属性到表单。
但当用户单击提交标签按钮时,不会使用 Ajax 提交表单。如果表单以标准的非ajax方式加载,则工作正常,但如果文档准备好后通过ajax加载表单,则不会使用ajax提交,而是作为标准表单提交。
根据我到目前为止的研究,发生这种情况是因为rails.js 文件(其中包含允许通过ajax 提交数据远程表单的内容)不会将其功能应用于通过ajax 加载的html 内容。
是否可以强制rails.js 文件将其功能应用于通过Ajax 加载的内容?
这里的情况也一样。我找到了解决方案。
不是动态加载,而是错误触发submit
在我的案例中,事件是原因。
I had a 引导模态 with data-target
and href
属性设置。这导致里面的内容.modal-body
通过 AJAX 从指定的地址加载href
.
该模式预先配备了保存按钮(在加载的表单之外),它像这样调用提交。
$modal.find("form.loaded_form").get(0).submit(); // INCORRECT
前者只执行原始提交,但是:
$modal.find("form.loaded_form").trigger('submit'); // CORRECT
就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)