jQuery:如何为实时绑定修复此语法

时间:2010-10-30 00:11:37

标签: javascript jquery ruby-on-rails ruby

我似乎无法做到这一点。

我有来自XHR的表格。我需要能够通过XHR将提交处理程序附加到它,因此这里的.live()。下面的代码实际上工作,问题是XHR HTTP POST发生(这很好),然后发生整页HTTP POST加载,这并不好。返回虚假;似乎什么都不做。我的后端是Rails,但在这种情况下这并不意味着什么。我在这个代码块中做错了什么,这个代码块使得HTTP POST一次发生在XHR上,一次发生在整页加载中?更好的方式来解决这个问题?

$('form[name=clip_form2]').live('submit', function() {
  $.post($(this).attr("action"), $(this).serialize(), null, "script");
  return false;
});

我的Rails表单甚至有一个onsubmit =“return false;”处理程序:

  <% form_for(@clip, :url=>group_channel_clip_path(@clip.group_channel,@clip), :method=>:put, :html => {:multipart => true, :name=>'clip_form2', :onsubmit => "return false;"}) do |f| -%>

1 个答案:

答案 0 :(得分:0)

$(document).ready(function(){
    $('form[name=clip_form2]').submit(function(e){
        e.preventDefault();
        $.post($(this.attr('action')), $(this).serialize(), null, 'script');
    });
});

此外,这是一个非常容易使用的jquery扩展程序,通过添加功能执行此操作http://jquery.malsup.com/form/