我似乎无法做到这一点。
我有来自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| -%>
答案 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/