如何在表单提交后捕获Rails控制器操作完成

时间:2017-10-25 01:00:47

标签: javascript jquery ruby-on-rails ruby-on-rails-4

我有一个form_tag <%= form_tag(recommend_path, :method => "get", :id => "form") do %>可以正常工作并重定向到下一页(recommended_pa​​th)。 Recommend控制器(表单提交后要加载的页面(非Ajax)在下一页加载之前有一些非常长的分析操作(大约需要10秒)。

我想要实现的是在Controller操作完成时添加带有加载器的叠加层。我已经使用加载程序成功添加了叠加层,但它只持续到表单提交完成。简单地说,单击提交按钮后,带有加载程序的叠加层会根据需要激活,但在表单提交完成后消失(仅需1-2秒)并且表单页面保持静止几秒钟(控制器操作完成时)在转到下一页之前。

我想用JavaScript(JQuery)或其他任何东西捕获控制器动作完成,以便加载器的叠加层保持到下一页加载为止。

注意:我使用的是TurboLinks。

1 个答案:

答案 0 :(得分:0)

在表单中设置html参数:

Feet and Meters Converter

 Conversions Menu: 

a. Feet to Meters

b. Meters to Feet

Select a conversion, feet to meters, or meters to feet (a/b): k

Invalid input. Please enter the letter a or b.


 Conversions Menu: 

a. Feet to Meters

b. Meters to Feet

Select a conversion, feet to meters, or meters to feet (a/b): a

Enter feet: k

Invalid input. Please retry 


 Conversions Menu: 

a. Feet to Meters

b. Meters to Feet

Select a conversion, feet to meters, or meters to feet (a/b): a

Enter feet: 900

274.32 meters

Do you want to enter another conversion? (y/n): k

Please retry.

用Javascript抓住了它:

 html: {remote: true, id: 'form'}