3

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

当第一个按钮呈现“显示动作”时,第二个按钮再次呈现相同的表单。所以我希望后者被ajax处理。

是否可以在同一个表单中有一个非 ajax 按钮和一个 ajax 按钮,还是我必须改变策略?

也许我需要一个带有'remote:true'的form_for,以便两个按钮都是ajax但是,我将如何管理第一个按钮来呈现正确的'显示视图'?

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

谢谢你。

4

2 回答 2

2

您可以尝试挂钩按钮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" );
}

像这样的东西...

于 2012-04-16T08:41:58.307 回答
0

我认为最简单的方法是使用jQuery Form插件。然后您可以创建表单以提交给您的非 ajax 操作,并且 ajax 功能将附加到提交按钮本身:

$(".ajax_submit_button").click(function() {
  $(this).closest("form").ajaxSubmit({
    // options go here
    ...
  });
  return false;
});
于 2012-04-16T08:43:01.007 回答