我有一个form_for @object有两个按钮。Rails窗体与ajax和非ajax按钮
第一个按钮呈现“显示动作”时,第二个按钮再次呈现相同的形式。所以我希望后者是ajax处理的。
是否有可能有一个非ajax按钮和ajax按钮在同一形式或我必须改变策略?
也许我需要一个form_for with'remote:true',以便这两个按钮都是ajax,但是,那么我将如何管理第一个按钮来呈现正确的'show view'?
或者唯一真正的解决方案是有两种不同的形式?
谢谢。
我有一个form_for @object有两个按钮。Rails窗体与ajax和非ajax按钮
第一个按钮呈现“显示动作”时,第二个按钮再次呈现相同的形式。所以我希望后者是ajax处理的。
是否有可能有一个非ajax按钮和ajax按钮在同一形式或我必须改变策略?
也许我需要一个form_for with'remote:true',以便这两个按钮都是ajax,但是,那么我将如何管理第一个按钮来呈现正确的'show view'?
或者唯一真正的解决方案是有两种不同的形式?
谢谢。
您可以尝试挂钩按钮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;
});
问题的是:如果提交按钮实际上是一个''用一个值(提交消息),使用form.submit()不会传递被点击的按钮的输入提交消息。 – 2015-10-05 16:55:02