如何让我的按钮提交AJAX表单?

时间:2011-11-10 18:13:21

标签: ruby-on-rails ajax

<%= link_to_remote "<span class='button_sprite_star'></span>Save Changes",
    "unsaved_changes = false; $('edit_content').submit();",
    :class=>"save action_button" %>

我正在使用remote_form_for(当我单击表单中的submit_tag时,表单有效。)

我想要一个不同的sumbit按钮的原因是因为我正在做的页面样式。控制按钮超出了表单的范围。

我知道我的上述方法适用于常规form_for,但是当表单是remote_form_for时,我得到了回复:

try {
unsaved_changes = false;
Element.update("content_name_361", "Basic Agressive Pool Theory");
enablePreviewLink();
completeSave();
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('unsaved_changes = false;\nElement.update(\"content_name_361\", \"Basic Agressive Pool Theory\");\nenablePreviewLink();\ncompleteSave();'); throw e }

这是一个AJAX响应...但为什么会被发送到新页面而不是我已经在的页面?

我正在使用ruby 1.8.7和rails 2.3.8

1 个答案:

答案 0 :(得分:1)

通过调用此函数而不是调用表单的提交来解决:

ajax_sumbit = function(e){ // e is a jquery object of the form
    $j.ajax({
      type: "POST",
      url: e.attr("action"),
      data: e.serialize()
    });
  }  
});