AJAX 调用后 jQuery 重新绑定 .submit()

发布于 2024-11-05 05:53:09 字数 579 浏览 0 评论 0原文

我正在创建一个论坛式系统,在其中创建帖子,然后用户可以对原始帖子发表评论。 (我所做的实际上在上下文中非常不同,但主题是相同的)。

添加评论的表单是帖子的一部分,它是使用 jQuery $.get() 拉入的。

这是当前的提交处理程序:

$('#add-stage-form').submit(function(){

        var data = $('#add-stage-form').serialize();
        add_stage(data);
        return false;   
    });

好的..现在,我需要在拉入后重新绑定它,就像可以使用 live() 一样。

拜托,如果有人建议 live('submit', function(){ ... })尖叫,因为提交不像点击那样工作!

我也很清楚,我可以在同一个按钮上绑定“click”事件 - 如果可能的话,我宁愿绑定 .submit() 事件,

提前致谢! :)

I'm creating a forum-style system where posts are created and users can then post comments on the original post. (What I'm doing is actually very different in context but the theme is the same).

The form to add a comment is part of the Post, which is pulled in using jQuery $.get().

Here's the submit handler currently:

$('#add-stage-form').submit(function(){

        var data = $('#add-stage-form').serialize();
        add_stage(data);
        return false;   
    });

Okay.. now, I need that to be re-bound once it's pulled in, in the same was live() can be used.

And please, if anybody suggests live('submit', function(){ ... }) I WILL scream because submit doesn't work like click!

I am also well aware that you I could bind the 'click' event on the same button - I'd much rather bind the .submit() event though, if possible

Thanks in advance! :)

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

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

发布评论

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

评论(2

半步萧音过轻尘 2024-11-12 05:53:09

您可以在 get 方法的 onComplete 回调中手动添加绑定...

$.get('getposts.html', function(data) {
    var myForm = $(data);
    $('.formContainer').append(myForm);

    $('.add-stage-form', myForm).submit(function(){

        var data = $(this).serialize();
        add_stage(data);
        return false;   
    });

});

*编辑
将 add-stage-form 更改为类而不是 id。您提到每个帖子都会有一个表格?

You can add the binding manually in the onComplete callback of the get method...

$.get('getposts.html', function(data) {
    var myForm = $(data);
    $('.formContainer').append(myForm);

    $('.add-stage-form', myForm).submit(function(){

        var data = $(this).serialize();
        add_stage(data);
        return false;   
    });

});

*edit
Changed add-stage-form to be a class rather than an id. You mentioned there will be a form per post?

凉风有信 2024-11-12 05:53:09

您尝试过使用Live()吗? :)

但说真的,如果您将单击事件附加到按钮,然后调用 jQuery.Post() 操作,这可能不是一个坏主意。或者甚至是提交页面的 javascript 方法。

我知道这不是(最好的)解决方案,但它可能会让你越线。

如果有更好的答案出现,我会撤回这个答案。

Have you tried using Live()? :)

But seriously, it might not be such a bad idea if you attach a click event to the button which then calls a jQuery.Post() opperation. Or even a javascript method that submits the page.

I know this is not the (best) solution but it might get you over the line.

I'll retract this answer if a better one comes along.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文