当用户单击按钮时,我必须提交一个表单,因为我在该按钮上使用了onclick JS函数调用。
在该函数中,我只需使用.submit()函数提交所需表单。
我使用JS函数,
$('#form_id').submit()另外,在form_tag中,我使用了:remote=>true。已使用:method=> "post"将HTML方法更改为post。
控制器还具有带format.js块的适当respond_to块。
视图文件具有正确的.js.erb文件。
但每当我单击该按钮时,它就会被当作HTML处理。如果我手动单击表单的submit按钮,它将被成功处理为JS。
如何解决这个问题??
发布于 2018-09-13 07:40:23
form = document.querySelector('#form_id');
form.dispatchEvent(new Event('submit', {bubbles: true})); // you can specify more options in `Event()` for reliability across different browsers.或
form = document.querySelector('#form_id');
Rails.fire(form, 'submit');找到答案here
发布于 2021-02-26 06:32:05
您需要使用requestSubmit,而不是使用jquery submit (或纯javascript submit
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit
本文描述了submit ( jQuery使用的)和requestSubmit (您需要使用它通过javascript提交让rails远程表单工作)之间的区别。
发布于 2016-08-03 22:42:57
什么是远程=> true?
如果在生成期间在表单中指定:remote => true,这意味着表单是远程提交的。
那么form.submit()又如何呢?
不需要使用jQuery代码来提交。您的应用程序理解表单必须远程提交。
我希望它能对有所帮助
https://stackoverflow.com/questions/38746642
复制相似问题