使用 javascript .submit() 的 AJAX Rails 复选框

发布于 2024-12-05 18:55:35 字数 490 浏览 0 评论 0原文

我使用的是 Rails 3.1,需要一个复选框来切换并保存到数据库,而无需刷新页面或重定向。

首先我要说的是我是个新手,如果我从错误的角度来解决这个问题,请告诉我。

这是我的表单:

<% form_for book, :remote => true do |f| %>
   <%= f.check_box :finished %>
<% end %>

这是我的 jQuery javascript:

$('input#book_finished').live("click", function() {
    $(this).parent('form').submit();
});

:remote = >当我通过 jQuery 提交时 true 不起作用,但如果我放入提交按钮(我不能有),则 true 不起作用。如何通过JS点击复选框提交?

I'm using Rails 3.1 and I need a checkbox to toggle and save to the database without the page refreshing or redirecting.

Let me preface by saying i'm fairly novice, if i'm coming at this problem from the wrong angle please let me know.

Here is my form:

<% form_for book, :remote => true do |f| %>
   <%= f.check_box :finished %>
<% end %>

Here is my jQuery javascript:

$('input#book_finished').live("click", function() {
    $(this).parent('form').submit();
});

The :remote = > true doesn't work when I submit via jQuery, but does if I throw in a submit button (which I can't have). How can I submit on clicking the checkbox though JS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恍梦境° 2024-12-12 18:55:35

到目前为止,您的代码仅通过单击复选框来处理提交。为了通过 AJAX 提交表单,您仍然必须捕获提交事件,防止默认行为并发送表单数据:

$('#form-id').submit(function(){
  $.ajax({
    type: this.method,
    url: this.action,
    data: $(this).serialize(),
    success: function(){
      ... // do something in case everything went find
    }
  });
  return false;
});

Your code so far only handles the submitting via a click on the checkbox. In order to submit the form via AJAX, you'll still have to catch the submit event, prevent the default behavior and send the form data:

$('#form-id').submit(function(){
  $.ajax({
    type: this.method,
    url: this.action,
    data: $(this).serialize(),
    success: function(){
      ... // do something in case everything went find
    }
  });
  return false;
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文