Rails与ajax和非ajax按钮一起形成

我有一个带有两个按钮的@object的form_for。

当第一个按钮呈现’show action’时,第二个按钮再次呈现相同的forms。 所以我希望后者是ajax处理的。

是否可以使用相同forms的非ajax按钮和ajax按钮,还是必须更改策略?

也许我需要一个带有’remote:true’的form_for,这样两个按钮都是ajax然后,我如何管理第一个按钮来呈现正确的’show view’?

或者也许唯一真正的解决方案是有两种不同的forms?

谢谢。

您可以尝试挂钩onClick事件按钮,删除data-remote="true"属性,提交表单并再次添加data-remote="true" 。 我不知道这是否真的是最好的方式,但它应该有效。

 function sendWithoutAjax() { $('my_form_id').removeAttr("data-remote"); $('my_form_id').submit(); $('my_form_id').data( "remote", "true" ); } 

这样的东西……

我认为最简单的方法是使用jQuery Form插件。 然后你可以创建表单来提交你的非ajax动作,ajaxfunction将附加到提交按钮本身:

 $(".ajax_submit_button").click(function() { $(this).closest("form").ajaxSubmit({ // options go here ... }); return false; });