Javascript Sweetalert is sending form multiple times

Latoxgaming

my following javascript function is sending the form multiple times. 4 to 9 posts at the same time and I cannot get it right now.

Here is the function:

function formModal(url, id, type, text, send_type) {
    $(document).ready(function () {
        $('#' + id).on('submit', function (e) { //id of form
            $.ajax({
                url: url, // PHP file
                data: $(this).serialize(),
                type: send_type,
                success: function (data) {
                    console.log(data);

                    // Success Alert
                    swal({
                        html: true,
                        title: text,
                        type: type,
                        timer: 1500,
                        showConfirmButton: false
                    });
                    setTimeout(function () {
                        // Refresh after 2 seconds
                        window.location.href = "";
                    }, 2200);
                },
                error: function (data) {
                    //Error Alert 
                    swal("Oops...", "Something went wrong :(", "error");
                }
            });
            e.preventDefault(); //This is to Avoid Page Refresh and Fire the Event "Click"
        });
    });
};

The function will be used in a HTML/ PHP Script:

   <script> formModal('/dashboard_scripts/module/wiki/edit_wiki_article.php', 'edit_article', 'success', 'Artikel wurde gespeichert', 'GET') </script>
Reborn

what are you doing in your code , why $(document).ready() inside the function formModal() and then inside that $(document).ready() you are binding submit handler which means every time you call the formModal() you are binding a submit event handler and thats the main reason of multiple submits of the form. you should either remove the submit handler from the function and make a simple ajax call or change

$('#'+id).on('submit', function (e) {

to

$('#'+id).off('submit').on('submit', function (e) {

Sweet Alert has nothing to do with the multiple submits of your form

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related