Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

327
Views
Form didn't submit after ajax validation

This question had been asked a lot of times, but I still confused where I made a mistake. I need to validate form by ajax and submit it if everything is ok. Here is my code:

    $('#tl_form form').on('submit',function(e) {
        var $form = $(this);
        if($form.attr('validated')){
                        //Here the form should be send IMHO, but "return true" don't do it somehow:
                        console.log('ok'); // I can just see this 'ok' in console.
            return true;
        }
        $.ajax({
            type: "POST",
            data: $form.serialize() + '&action=validate_tl_form',
            url: ajaxurl,
            success: function(data) {
                if (data.success) {
                    $form.attr('validated',true).submit();
                } else {
                                        console.log('error');
                }
            },
        });
        return false;
    });

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

I would recommend to re-work your logic.

If you are submitting the entire form to the server anyway for validation, the server might as well simply accept it when it is valid, instead of sending "it is valid" to the client and expecting a form re-post.

You can show a validation hint on the client when the form was not valid.

$('#tl_form form').on('submit', function (e) {
    e.prenventDefault();
    $.post($(this).attr('action'), $(this).serialize()).done(function (data) {
        if (data.success) {
            // go to next step/page
        } else {
            // show validation hint
        }
    });
});

e.prenventDefault(); prevents that the browser submits the form the regular way, since you're sending it via Ajax.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!