Jquery override submit function

linkaiyi
Follow

jquery submit function

If using post or ajax function within function submit, the default setting post and ajax is async, which means the submit will be triggered without waiting for response from post/ajax function. It can be solved either with preventDefault function in submit or change ajax async setting to true.(post function can not be adjusted. Always async)

var handleQSFormSubmit = function() {
        $('#qs_login-form').submit(function (e) {
            // e.preventDefault();
            // console.log('submit call back');
            var user = $("#qs_login-form input[name='username']");
            var csrf_token = $("#qs_login-form input[name='csrfmiddlewaretoken']");
            var qs_username = user.val();
            $.post(
                'update_qs_log/',
                {username: qs_username, csrfmiddlewaretoken: csrf_token.val()},
                function (data,status,xhr) {
                    // console.log('success');
                    if (qs_username.substring(0,2) !== '.\\') {
                        qs_username = '.\\' + qs_username;
                    }
                    //console.log(qs_username);
                    user.val(qs_username);
                    $('#qs_login-form').off('submit').submit()
                }
            ).fail(function () {
                // console.log('failed');
                if (qs_username.substring(0,2) !== '.\\') {
                        qs_username = '.\\' + qs_username;
                }
                //console.log(qs_username);
                user.val(qs_username);
                $('#qs_login-form').off('submit').submit()
            });
            e.preventDefault();
        })
    };
Object has 0 attachments

Was this article helpful?

This article is viewed 27 times!

Recent Viewed Articles

0 Comments

Leave a Comment

Support