Skip to main content
Added an error callback (so as to capture any possible error), added comment in place of ... for the intended form inputs area, changed alert to console.log more convenience and manipulation.
Source Link
nyedidikeke
  • 7.4k
  • 8
  • 47
  • 61

Another similar solution using attributes defined on the form element:

<form id="contactForm1" action="/your_url" method="post">
    ..<!-- Form input fields here (do not forget your name attributes). -->
</form>

<script type="text/javascript">
    var frm = $('#contactForm1'); 

    frm.submit(function (eve) { 

        e.preventDefault();

        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alertconsole.log('ok''Submission was successful.');
            }    console.log(data);
            },
            error: function (data); {
                console.log('An error occurred.');
        ev        console.preventDefaultlog(data);
            },
        });
    });
</script>

Another similar solution using attributes defined on the form element:

<form id="contactForm1" action="/your_url" method="post">
    ...
</form>

<script type="text/javascript">
    var frm = $('#contactForm1');
    frm.submit(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        ev.preventDefault();
    });
</script>

Another similar solution using attributes defined on the form element:

<form id="contactForm1" action="/your_url" method="post">
    <!-- Form input fields here (do not forget your name attributes). -->
</form>

<script type="text/javascript">
    var frm = $('#contactForm1'); 

    frm.submit(function (e) { 

        e.preventDefault();

        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                console.log('Submission was successful.');
                console.log(data);
            },
            error: function (data) {
                console.log('An error occurred.');
                console.log(data);
            },
        });
    });
</script>
improved answer using preventDefault
Source Link
Davide Icardi
  • 12.1k
  • 8
  • 58
  • 77

Another similar solution using the attributes defined on the form element:

    <form id="contactForm1" action="/your_url" method="post">
    ...
</form>

<script type="text/javascript">
    var frm = $('#contactForm1');
    frm.submit(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        return false;ev.preventDefault();
    });
</script>

Another similar solution using the attributes defined on the form element:

    <form id="contactForm1" action="/your_url" method="post">
    ...
</form>

<script type="text/javascript">
    var frm = $('#contactForm1');
    frm.submit(function () {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        return false;
    });
</script>

Another similar solution using attributes defined on the form element:

<form id="contactForm1" action="/your_url" method="post">
    ...
</form>

<script type="text/javascript">
    var frm = $('#contactForm1');
    frm.submit(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        ev.preventDefault();
    });
</script>
Source Link
Davide Icardi
  • 12.1k
  • 8
  • 58
  • 77

Another similar solution using the attributes defined on the form element:

    <form id="contactForm1" action="/your_url" method="post">
    ...
</form>

<script type="text/javascript">
    var frm = $('#contactForm1');
    frm.submit(function () {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        return false;
    });
</script>
Post Made Community Wiki by Davide Icardi