我有一个带有两个按钮的 @object 的 form_for。
当第一个按钮呈现“显示动作”时,第二个按钮再次呈现相同的表单。所以我希望后者被ajax处理。
是否可以在同一个表单中有一个非 ajax 按钮和一个 ajax 按钮,还是我必须改变策略?
也许我需要一个带有'remote:true'的form_for,以便两个按钮都是ajax但是,我将如何管理第一个按钮来呈现正确的'显示视图'?
或者也许唯一真正的解决方案是有两种不同的形式?
谢谢你。
我有一个带有两个按钮的 @object 的 form_for。
当第一个按钮呈现“显示动作”时,第二个按钮再次呈现相同的表单。所以我希望后者被ajax处理。
是否可以在同一个表单中有一个非 ajax 按钮和一个 ajax 按钮,还是我必须改变策略?
也许我需要一个带有'remote:true'的form_for,以便两个按钮都是ajax但是,我将如何管理第一个按钮来呈现正确的'显示视图'?
或者也许唯一真正的解决方案是有两种不同的形式?
谢谢你。
您可以尝试挂钩按钮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 操作,并且 ajax 功能将附加到提交按钮本身:
$(".ajax_submit_button").click(function() {
$(this).closest("form").ajaxSubmit({
// options go here
...
});
return false;
});