简体   繁体   中英

Re-binding an ajaxForm after content re-loads with ajax (jQuery 1.4.2)

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM