使用 ajax 重新加载内容后重新绑定 ajaxForm (jQuery 1.4.2)

发布于 2024-09-01 16:25:32 字数 879 浏览 5 评论 0原文

我试图弄清楚为什么在使用 jQuery 1.4.2 而不是 1.3.2 时这是一个问题。

这是我的功能:

function prepare_logo_upload() {
    $("#logo-upload-form").ajaxForm({
        //alert(responseText);                                       
        success: function(responseText) {
            //alert(responseText);                                          
            $('#profile .wrapper').html(responseText);
            prepare_logo_upload();
        }
    });
}

所有其他实时事件都可以工作,但不能使用 .live() 方法,因为 ajaxForm 是一个插件。 我也注意到使用旧形式的其他类型的绑定(点击)(回调后重新绑定),

你能告诉我这是否是解决这个问题的一种方法?

这是一个类似的问题,但由于我在这里的新手声誉,无法在那里发表评论或提出问题,所以我会在这里问一个新问题。 -> jQuery:将 ajaxForm 绑定到表单通过 .load() 加载的页面

谢谢!

编辑:“#profile .wrapper”包含表单,所以我的问题是在重新加载后将其与事件重新绑定。

I'm trying to figure out why this is a problem when using jQuery 1.4.2 and not 1.3.2.

This is my function:

function prepare_logo_upload() {
    $("#logo-upload-form").ajaxForm({
        //alert(responseText);                                       
        success: function(responseText) {
            //alert(responseText);                                          
            $('#profile .wrapper').html(responseText);
            prepare_logo_upload();
        }
    });
}

Every other live event works but can't use the .live() method because ajaxForm is a plugin.
I have noticed this also for other types of binding (clicks) using the old form (re-binding after callback)

Can you tell me if it is a way of solving this?

This is a similar question, but due to my newbie reputation here, can't comment or ask a question there, so I'll ask a new one here.
-> jQuery: Bind ajaxForm to a form on a page loaded via .load()

Thank you!

EDIT: The "#profile .wrapper" contains the form, so my problem is in getting it re-binded with the events after it reloads.

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

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

发布评论

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

评论(1

峩卟喜欢 2024-09-08 16:25:32

只是猜测,但是,类似这样的事情吗?


$("#logo-upload-form").live("submit", function () {
    return (function () {
        jQuery(this).ajaxForm({
            //alert(responseText);                                       
            success: function(responseText) {
                //alert(responseText);                                          
                $('#profile .wrapper').html(responseText);
                // recursion 
                return arguments.callee();
            }
        });
    }());
});

顺便说一句,完全未经测试。

Just a guess but, something like this?


$("#logo-upload-form").live("submit", function () {
    return (function () {
        jQuery(this).ajaxForm({
            //alert(responseText);                                       
            success: function(responseText) {
                //alert(responseText);                                          
                $('#profile .wrapper').html(responseText);
                // recursion 
                return arguments.callee();
            }
        });
    }());
});

Completely untested, btw.

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